Direkt zum Inhalt

Wie man Listen in Python aufteilt: Grundlegende Beispiele und fortgeschrittene Methoden

Lerne, wie du Python-Listen mit Techniken wie Slicing, List Comprehensions und Itertools aufteilen kannst. Erfahre, wann du welche Methode für eine optimale Datenverarbeitung verwenden solltest.
Aktualisierte 16. Jan. 2025  · 11 Min. Lesezeit

Python-Listen sind dynamische, veränderbare Array-Datentypen, die zum Speichern geordneter Elemente verwendet werden. Das Aufteilen von Listen ist eine häufige Aufgabe in Python, die für die effiziente Bearbeitung und Analyse von Daten unerlässlich ist. 

Du kannst mehr über Datenanalyse lernen, indem du den Lernpfad Datenanalytiker/in mit Python belegst, um deine Kenntnisse zu vertiefen. Dabei lernst du die verschiedenen Methoden zum Aufteilen von Listen in Python kennen, einschließlich praktischer Beispiele und Best Practices. 

Wenn du diese Techniken beherrschst, verbesserst du deine Programmierkenntnisse und machst deine Skripte effizienter und wartbarer. Lass uns loslegen.

Die schnelle Antwort: Wie man eine Liste in Python aufteilt

  • Die einfachste Art, eine Liste in Python aufzuteilen, ist das Slicing mit dem Operator :. Wir können eine Liste zum Beispiel auf diese Weise teilen: split_list = my_list[:5] Dadurch wird die Liste am fünften Index geteilt. 

  • Der Rest dieses Artikels befasst sich mit anderen Methoden, um eine Liste aufzuteilen, einschließlich List Comprehensions, itertools, numpy, und mehr. Jede Methode hat einzigartige Vorteile und eignet sich für unterschiedliche Anwendungsfälle, wie wir sehen werden.

Die gebräuchlichste Methode: Aufteilung einer Liste durch Slicing

Die Python-Splitliste mit Index ist wahrscheinlich die häufigste Splitlist-Technik. Die Slicing-Methode sorgt dafür, dass die Python-Liste am angegebenen Index in Unterlisten aufgeteilt wird. Hier findest du eine Schritt-für-Schritt-Anleitung, wie du Slicing in Python implementierst.

  • Definiere die Liste: Angenommen, du hast eine Liste [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] und willst sie an einem bestimmten Index n aufteilen.
  • Bestimme den Split-Index: Gib den Index n an, unter dem du die Liste aufteilen möchtest.
  • Erstelle das erste Slice: Im folgenden Code erstellst du first_slice, um Elemente vom Anfang der Liste bis zum Index n zu enthalten.
  • Erstelle den zweiten Slice: Definiere second_slice, um alle Elemente vom Index n bis zum Ende der Liste einzuschließen.
# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Index where the list will be split
n = 4

# Slice the list from the beginning to the nth index (not inclusive)
first_slice = my_list[:n]

# Slice the list from the nth index to the end
second_slice = my_list[n:]

# Print the first slice of the list
print("First slice:", first_slice)  # Output: [1, 2, 3, 4]

# Print the second slice of the list
print("Second slice:", second_slice)  # Output: [5, 6, 7, 8, 9, 10]

Beispiel für die Ausgabe einer geteilten Python-Liste durch Slicing

Beispiel für die Ausgabe einer geteilten Python-Liste durch Slicing. Bild vom Autor

Listensplitting in Python verstehen

Beim Listenslicing in Python werden eine oder mehrere Teillisten aus der Hauptliste extrahiert. Wenn du eine Liste in Python aufteilen willst, musst du die Slicing-Syntax verstehen, um die richtige Unterliste besser zu verstehen. Die Slicing-Syntax umfasst einen Start, einen Stopp und einen Schritt.

# Example of slicing with start, stop, and step
slice[start:stop:step]
  1. Start gibt den Beginn des Index des Slicings an.
  2. Stop zeigt das Ende des Index des Slicings an
  3. Step gibt die Intervalle zwischen den Slicings an (standardmäßig 1).
# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list from index 2 to 7 (index 2 inclusive, index 7 exclusive)
# This will include elements at index 2, 3, 4, 5, and 6
sublist = my_list[2:7]

# Print the sliced sublist
print(sublist) 

Nach dem obigen Code beginnt das Slicing von Index 2 bis Index 6, da die Unterliste den Index 7 nicht enthält.

Beispiel für die Ausgabe der Slicing-Syntax.  Bild vom Autor

Beispiel für die Ausgabe der Slicing-Syntax. Bild vom Autor

Die Vorteile der Python-Splitliste in Bezug auf die Lesbarkeit und Effizienz des Codes sind:

  • Vereinfachung der Datenverwaltung: Indem sie Daten in überschaubare Teile aufteilen, können Datenwissenschaftler/innen beim maschinellen Lernen Trainings- und Testdaten leicht voneinander trennen.
  • Zunehmende Modularität: Das Schreiben von Funktionen mit spezifischen Unterlisten erhöht die Modularität in deinem Code.
  • Leistung optimieren: Die Verwendung kleinerer Listenabschnitte führt zu einer schnelleren Verarbeitung als die Verwendung ganzer Listen.
  • Verbesserung der Speichereffizienz: Die Methode erstellt Chunks, ohne die zugrundeliegenden Daten zu kopieren, was sie speichereffizient macht.

Verschiedene Techniken zum Aufteilen von Listen in Python

Es gibt verschiedene Methoden, wie man eine Liste in Python aufteilt. Im Folgenden sind häufige Beispiele aufgeführt, die einem Datenpraktiker in seiner Praxis begegnen können.

Listenaufteilung verwenden

Beim Python Split List Slicing wird der Operator : verwendet, um die Liste am Index zu teilen. Bei dieser Methode wird die Indexierungstechnik verwendet, um den Beginn und das Ende des Slicings festzulegen.

Zu den verschiedenen Techniken für das Schneiden gehören die folgenden:

Positives Index-Slicing

Diese Methode verwendet die positiven Werte der Indizes, beginnend von links nach rechts, um auf die Elemente in der Liste zuzugreifen.

# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list from index 2 to 7 (index 2 inclusive, index 7 exclusive)
# This will include elements at index 2, 3, 4, 5, and 6
sublist = my_list[2:7]

# Print the sliced sublist
print(sublist) 

Beispiel für die Ausgabe der Slicing-Syntax mit positiven Indizes.

Beispiel für die Ausgabe der Slicing-Syntax mit positiven Indizes. Bild vom Autor

Negatives Index-Slicing

Diese Python-Methode zum Aufteilen von Listen verwendet die Werte der negativen Indizes, beginnend mit dem letzten Element der Liste, von rechts nach links.

# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list to get the last 5 elements
sublist = my_list[-5:]

# Print the sliced sublist containing the last 5 elements
print(sublist)

# Slice the list to get all elements except the last 3
sublist = my_list[:-3]

# Print the sliced sublist containing all but the last 3 elements
print(sublist)

Beispiel für die Ausgabe der Slicing-Syntax mit negativen Indizes.

Beispiel für die Ausgabe der Slicing-Syntax mit negativen Indizes. Bild vom Autor

Schrittmethode verwenden

Dieser Ansatz verwendet bestimmte Bedingungen, um die Liste beim Zugriff auf verschiedene Elemente aufzuteilen.

# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list to get every second element, starting from the beginning
sublist = my_list[::2]

# Print the sliced sublist containing every second element
print(sublist) 

# Slice the list to get every second element, starting from index 1
sublist = my_list[1::2]

# Print the sliced sublist containing every second element, starting from index 1
print(sublist) 

# Slice the list to get the elements in reverse order
sublist = my_list[::-1]

# Print the sliced sublist containing the elements in reverse order
print(sublist) 

Beispiel für die Ausgabe der Slicing-Syntax mit der Schrittmethode.

Beispiel für die Ausgabe der Slicing-Syntax mit der Schrittmethode.  Bild vom Autor

Auslassen von Indizes

Diese Methode zerlegt die Python-Liste, indem sie nur die benötigten Elemente in einer Liste zurückgibt.

# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list from the start to index 5 (index 5 not inclusive)
sublist = my_list[:5]

# Print the sliced sublist containing elements from the start to index 4
print(sublist) 

# Slice the list from index 5 to the end
sublist = my_list[5:]

# Print the sliced sublist containing elements from index 5 to the end
print(sublist) 

# Slice the list to get the entire list
sublist = my_list[:]

# Print the sliced sublist containing the entire list
print(sublist) 

Beispiel für die Ausgabe der Slicing-Syntax durch Weglassen der Indizes.

Beispiel für die Ausgabe der Slicing-Syntax durch Weglassen der Indizes.  Bild vom Autor

Listenauflösungen verwenden

Mit dem Python-Listenverständnis kann man eine Liste in Teile aufteilen, die auf den Werten der bestehenden Liste basieren.

# Define a function to split a list into chunks of a specified size
def split_list(lst, chunk_size):
    # Use a list comprehension to create chunks
    # For each index 'i' in the range from 0 to the length of the list with step 'chunk_size'
    # Slice the list from index 'i' to 'i + chunk_size'
    return [lst[i:i + chunk_size] for i in range(0, len(lst), chunk_size)]

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Split the list into chunks of size 3 using the split_list function
chunks = split_list(my_list, 3)

# Print the resulting list of chunks
print(chunks)

Der obige Code verwendet Python split list in n chunks of size three, um eine neue Liste mit chunk lists of 3 values zurückzugeben.

Beispiel für die Ausgabe einer geteilten Python-Liste mit Split Comprehension

Beispiel für die Ausgabe einer geteilten Python-Liste mit dem Split-Verständnis. Bild vom Autor

Itertools verwenden

Python split list using itertools verwendet das Python-Modul, um Daten durch Iteration umzuwandeln.

# Import the islice function from the itertools module
from itertools import islice
# Define a function to yield chunks of a specified size from an iterable
def chunks(iterable, size):
    # Create an iterator from the input iterable
    iterator = iter(iterable)
    
    # Loop over the iterator, taking the first element in each iteration
    for first in iterator:
        # Yield a list consisting of the first element and the next 'size-1' elements from the iterator
        yield [first] + list(islice(iterator, size - 1))

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Convert the generator returned by the chunks function into a list of chunks
chunked_list = list(chunks(my_list, 3))

# Print the resulting list of chunks
print(chunked_list)

Beispiel für die Ausgabe einer geteilten Python-Liste mit itertools

Beispiel für die Ausgabe einer geteilten Python-Liste mit itertools. Bild vom Autor

Numpy verwenden

Die numpy-Bibliothek in Python ist nützlich, um Arrays in Unterlisten aufzuteilen. Die Funktion .array_split() erlaubt Splits, wenn du die Anzahl der Splits angibst.

# Import the numpy library and alias it as np
import numpy as np

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Use numpy's array_split function to split the list into 3 chunks
chunks = np.array_split(my_list, 3)

# Convert each chunk back to a regular list and print the resulting list of chunks
print([list(chunk) for chunk in chunks])

Beispiel für die Ausgabe einer geteilten Python-Liste mit Numpy

Beispiel für die Ausgabe einer geteilten Python-Liste mit numpy. Bild vom Autor

Aufteilung von Listen in Teile (Chunks)

Mit der folgenden Python-Funktion kann man eine Liste auch in Teile aufteilen. Diese Chunks können benutzerdefiniert sein, je nachdem, wie viele ein Nutzer benötigt.

# Define a function to split a list into chunks of a specified size
def split_into_chunks(lst, chunk_size):
    chunks = []  # Initialize an empty list to store chunks
    
    # Iterate over the list with a step of chunk_size
    for i in range(0, len(lst), chunk_size):
        # Slice the list from index 'i' to 'i + chunk_size' and append it to chunks
        chunks.append(lst[i:i + chunk_size])
    
    return chunks  # Return the list of chunks

# Define a list of integers from 1 to 16
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

# Split the list into chunks of size 4 using the split_into_chunks function
chunks = split_into_chunks(my_list, 4)

# Print the resulting list of chunks
print(chunks)

Beispiel für die Ausgabe einer in Python in Chunks aufgeteilten Liste

Beispiel für die Ausgabe einer in Python in Chunks aufgeteilten Liste. Bild vom Autor

Aufteilung von Listen anhand von Bedingungen

Wenn du eine Liste in Python aufteilen willst, kannst du einige Regeln/Bedingungen für die Unterliste festlegen. Mit dieser Methode kannst du eine Unterliste erstellen, die diese Bedingungen erfüllt.

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# List comprehension to filter elements divisible by 3
div_3 = [x for x in my_list if x % 3 == 0]

# List comprehension to filter elements not divisible by 3
not_div_3 = [x for x in my_list if x % 3 != 0]

# Print the list of elements divisible by 3
print(div_3)

# Print the list of elements not divisible by 3
print(not_div_3)

Beispiel für die Ausgabe einer Python-Splitliste auf der Grundlage von Bedingungen

Beispiel für die Ausgabe einer Python-Splitliste auf der Grundlage von Bedingungen. Bild vom Autor

For-Schleifen verwenden

For-Schleifen können auch verwendet werden, um Listen in Python anhand von Bedingungen und durch Iteration aufzuteilen.

# Define a function to split a list into sub-lists of size n
def split_by_n(lst, n):
    # Use a list comprehension to create sub-lists
    # For each index 'i' in the range from 0 to the length of the list with step 'n'
    # Slice the list from index 'i' to 'i + n'
    return [lst[i:i + n] for i in range(0, len(lst), n)]

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Split the list into sub-lists of size 5 using the split_by_n function
sub_lists = split_by_n(my_list, 5)

# Print the resulting list of sub-lists
print(sub_lists) 

Beispiel für die Ausgabe einer geteilten Python-Liste mit for-Schleifen

Beispiel für die Ausgabe einer geteilten Python-Liste mit for-Schleifen. Bild vom Autor

Verwendung der Funktion zip()

Du kannst auch die Funktion zip() in Python verwenden, um eine Liste durch Paarung zu teilen.

# Define two lists: list1 containing integers from 1 to 10, and list2 containing letters from 'a' to 'j'
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

# Use the zip function to pair corresponding elements from list1 and list2 into tuples
paired = list(zip(list1, list2))

# Print the list of paired tuples
print(paired)

Beispiel für die Ausgabe einer geteilten Python-Liste mit der Funktion zip()

Beispiel für die Ausgabe einer geteilten Python-Liste mit der Funktion zip(). Bild vom Autor

Verwendung der Funktion enumerate()

Die Funktion enumerate() teilt die Python-Listen mithilfe von Indexbedingungen auf. Diese Funktion verwendet Iteration, um eine Liste in gleiche Teile zu teilen.

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Define the chunk size for splitting the list
chunk_size = 5

# Create a list of empty lists, one for each chunk
split_list = [[] for _ in range(chunk_size)]

# Iterate over the elements and their indices in my_list
for index, value in enumerate(my_list):
    # Calculate the index of the sublist where the current value should go using modulo operation
    sublist_index = index % chunk_size
    
    # Append the current value to the corresponding sublist in split_list
    split_list[sublist_index].append(value)

# Print the list of sublists after splitting my_list into chunks
print(split_list)

Beispiel für die Ausgabe einer geteilten Python-Liste mit der Funktion enumerate()

Beispiel für die Ausgabe einer geteilten Python-Liste mit der Funktion enumerate(). Bild vom Autor

Python split string to list

Verwendung der Methode split()

Die Methode split() zerlegt eine Zeichenkette in Python in eine Liste, wenn ein Begrenzungszeichen angegeben wird. Die Methode gibt die Teilstrings entsprechend der Anzahl der Begrenzungszeichen in der angegebenen Zeichenkette zurück.

# Define a string
myString = "Goodmorning to you"

# Split the string into a list of words based on whitespace (default separator)
my_list = myString.split()

# Print the resulting list
print(my_list) 

Beispiel für die Ausgabe eines geteilten Strings in eine Liste in Python mit der Methode split()

Beispiel für die Ausgabe von split string to list Python mit der Methode split(). Bild vom Autor

Verwendung der Methode splitlines()

Die Methode splitlines() teilt eine Zeichenkette in eine Python-Liste auf, die auf dem Zeichen der neuen Zeile basiert.

# Define a string with newline characters
myString = "Goodmorning\nto\nyou"

# Split the string into a list of lines based on newline characters
my_list = myString.splitlines()

# Print the resulting list
print(my_list)

Beispiel für die Ausgabe eines geteilten Strings in eine Python-Liste mit der Methode splitlines()

Beispiel für die Ausgabe von split string to list Python mit der Methode splitlines(). Bild vom Autor

Verwendung der Methode partition()

Die Methode partition() zerlegt in Python Zeichenketten mit dem angegebenen Trennzeichen in Listen. Diese Methode gibt drei Teile zurück: die Zeichenfolge vor dem Trennzeichen, das Trennzeichen und alles nach dem Trennzeichen als Liste.

# Define a string with a delimiter '/'
myString = "Goodmorning/to you"

# Use the partition() method to split the string into three parts based on the first occurrence of '/'
my_list = myString.partition('/')

# Print the resulting tuple
print(my_list)  # Output: ('Goodmorning', '/', 'to you')

Beispiel für die Ausgabe einer geteilten Stringliste in Python mit der Methode partition()

Beispiel für die Ausgabe einer geteilten String-Liste in Python mit der Methode partition(). Bild vom Autor

Reguläre Ausdrücke verwenden

In Python können reguläre Ausdrücke auch verwendet werden, um eine Zeichenkette in eine Liste zu zerlegen. Das folgende Beispiel zeigt, wie du das mit Leerzeichen machen kannst.

# Import the 're' module for regular expressions
import re

# Define a string
myString = "Goodmorning to you"

# Use re.split() to split the string based on whitespace ('\s' matches any whitespace character)
# Returns a list of substrings where the string has been split at each whitespace
my_list = re.split('\s', myString)

# Print the resulting list
print(my_list)

Beispiel für die Ausgabe einer Split-String-Liste in Python mit regulären Ausdrücken.

Beispiel für die Ausgabe einer Split-String-Liste in Python mit regulären Ausdrücken. Bild vom Autor

Tabelle zum Vergleich

Hier ist eine Tabelle, in der du auf einen Blick sehen kannst, wann die verschiedenen Techniken sinnvoll sind. In der Praxis kann ein und dieselbe Technik in vielen Fällen funktionieren, ohne dass es große Leistungsunterschiede gibt, daher sind die Hinweise darauf, wann eine bestimmte Technik besonders nützlich ist, vielleicht etwas übertrieben. 

Technique Anwendungsfall Wenn es nützlich ist
Schneiden Aufteilen einer Liste an einem bestimmten Index oder einem Bereich von Indizes. Nützlich für einfache, geradlinige Splits.
List Comprehensions Erstellen von Unterlisten basierend auf den Werten oder Bedingungen in der Liste. Nützlich für komplexere kriterienbasierte Aufteilung.
itertools.islice Eine Liste mit Hilfe eines Iterators in Stücke mit einer bestimmten Größe aufteilen. Nützlich für den effizienten Umgang mit großen Listen.
numpy.array_split Aufteilung von Arrays in Unterlisten basierend auf der Anzahl der gewünschten Splits. Nützlich für den effizienten Umgang mit numerischen Daten.
Bedingungsbasiertes Splitting Aufteilung einer Liste auf der Grundlage von Bedingungen wie Teilbarkeit. Nützlich, um Daten in sinnvolle Unterlisten aufzuteilen.
For-Schleifen Iterieren durch eine Liste, um Unterlisten mit einer bestimmten Größe zu erstellen. Nützlich für mehr Kontrolle über den Aufteilungsprozess.
zip() Function Paare von Elementen aus zwei Listen. Nützlich, um Daten aus zwei verwandten Listen zu kombinieren.
enumerate() Funktion Das Aufteilen von Listen mithilfe von Indexbedingungen, oft für gleich große Stücke. Nützlich, um gleichmäßig verteilte Teillisten zu erstellen.
split() Methode Aufteilung von Strings in Listen anhand eines bestimmten Trennzeichens. Nützlich für die Verarbeitung von Textdaten.
splitlines() Methode Aufteilung von Zeichenketten in Listen auf der Grundlage von Zeilenumbrüchen. Nützlich zum Lesen von Textdaten mit mehreren Zeilen.
partition() Methode Aufteilung von Zeichenketten in drei Teile anhand eines bestimmten Trennzeichens. Nützlich für bestimmte Textverarbeitungsszenarien.
Reguläre Ausdrücke Regex verwenden, um Strings nach komplexen Mustern in Listen aufzuteilen. Nützlich für fortgeschrittene Textdatenmanipulationen.

Werde ein ML-Wissenschaftler

Beherrsche Python, um ein Wissenschaftler für maschinelles Lernen zu werden
Kostenloses Lernen beginnen

Häufige Fallstricke und wie du sie vermeidest

Beim Umgang mit geteilten Listen in Python kann ein Datenpraktiker auf einige häufige Fehler stoßen. Im Folgenden findest du einige der häufigsten Fallstricke und wie du sie vermeiden kannst.

Off-by-One-Fehler

Der Off-by-One-Fehler tritt beim Basic Slicing auf, wenn du weniger oder mehr Indizes als erforderlich in die Liste aufnimmst.

my_list = [1, 2, 3, 4, 5]

# Trying to get sublist from index 2 to 4, inclusive
sublist = my_list[2:5]  # Correct: my_list[2:5]
print(sublist)  # Output: [3, 4, 5]

# Incorrect usage:
sublist = my_list[2:4]  # Incorrect, excludes index 4
print(sublist)  # Output: [3, 4]

Um diesen Fehler zu vermeiden, musst du die Indizierungsreihenfolge in Python verstehen und wissen, was du bei der Indizierung ein- und ausschließen musst.

Fehler bei verwendeten Paketen

Es kann auch zu Fehlern bei den Paketen kommen, vor allem, wenn die Split-Methode Python-Module erfordert. Beispiele sind die Pakete numpy, re und itertools. Um diesen Fehler zu vermeiden, stelle sicher, dass die Pakete richtig geladen und als kompatible Versionen verwendet werden.

Umgang mit Grenzfällen

Bei der Python-Listenaufteilung können Grenzfälle auftreten, wenn du einige Szenarien nicht berücksichtigst. Der folgende Ausschnitt zeigt zum Beispiel eine Funktion, die versucht, Listen in 5er-Teile aufzuteilen, obwohl die Liste nur 4 Elemente enthält.

import numpy as np

my_list = [1, 2, 3, 4]
chunks = np.array_split(my_list, 5)
print(chunks)

Um diesen Fehler zu vermeiden, verwende bedingte Anweisungen, um den Grenzfall zu behandeln, wie unten gezeigt.

import numpy as np

my_list = [1, 2, 3, 4]
if len(my_list) < 5:
    chunks = [my_list]
else:
    chunks = np.array_split(my_list, 5)
print(chunks)

Umgang mit Sonderzeichen

Wenn du Sonderzeichen nicht richtig behandelst, kann das auch zu Fehlern beim Aufteilen von Stringlisten in Python führen. Zu diesen Sonderzeichen gehören Leerzeichen, Kommas oder alphanumerische Zeichen.

Das folgende Beispiel zeigt, wie du diesen Fehler vermeidest, indem du das Zeichen angibst, mit dem die Stringliste geteilt wird.

# Example list with special characters
my_list = ["apple, orange", "dog, mouse", "green, blue"]

# Splitting each string by the comma
split_list = [s.split(",") for s in my_list]
print(split_list)

Bewährte Praktiken und Richtlinien

Da das Aufteilen von Listen in Python eine gängige Operation in der Datenanalyse ist, ist es wichtig, einige Praktiken einzuhalten, um die Effizienz zu gewährleisten. Diese Empfehlungen beinhalten;

  • Behalte die Unveränderlichkeit bei, wo es möglich ist: Wenn die ursprüngliche Liste nicht verändert werden soll, stelle sicher, dass deine Slicing-Operationen die ursprüngliche Liste nicht verändern. Beim Slicen werden neue Listen erstellt, daher ist das normalerweise kein Problem, aber sei dir dessen bewusst, wenn du mit komplexeren Datenstrukturen arbeitest.
  • Optimiere für Leistung: Wenn du mit großen Listen arbeitest, achte auf die Auswirkungen auf die Leistung. Slicing ist im Allgemeinen effizient, aber das unnötige Kopieren von großen Listen kann zu Leistungsengpässen führen.
  • Behandle Grenzfälle: Berücksichtige Randfälle wie eine leere Liste, Splitting am Anfang oder Ende der Liste und ungültige Indizes. Stelle sicher, dass dein Code mit diesen Szenarien gut umgehen kann.
  • Fehlerbehandlung und Validierung einbeziehen: Die Fehlerbehandlung ist besonders wichtig, wenn du in Python eine Liste in mehrere Listen aufteilen willst, damit dein Code nicht zusammenbricht und für Überraschungen sorgt. 

Der Python-Programmierkurs von DataCamp bietet eine ausführliche Erläuterung der besten Methoden, um Code effizient zu schreiben, und berücksichtigt dabei gängige Konzepte wie Fehlerbehandlung und Leistung. 

Fortgeschrittene Techniken der Listenaufteilung

Das Aufteilen von Listen kann durch verschiedene Methoden, die mehr Kontrolle und Flexibilität bieten, auf ein höheres Niveau gebracht werden. 

Liste in mehrere Listen aufteilen

Du kannst die Python-Liste in mehrere Listen aufteilen, indem du die Aufteilung an bestimmten Indizes angibst. Der folgende Code teilt die Liste zum Beispiel am folgenden Index 2, 5, 7.

def split_at_indices(lst, indices):
    result = []
    prev_index = 0
    for index in indices:
        result.append(lst[prev_index:index])
        prev_index = index
    result.append(lst[prev_index:])
    return result

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
indices = [2, 5, 7]
split_lists = split_at_indices(my_list, indices)
print(split_lists)

Beispiel für die Ausgabe einer Python-Liste, die in mehrere Listen aufgeteilt wird.

Beispiel für die Ausgabe einer Python-Liste, die in mehrere Listen aufgeteilt wird. Bild vom Autor

Liste in gleiche Teile aufteilen

Du kannst auch eine eingebaute Bibliothek wie "numpy" verwenden, um eine Python-Liste in die gewünschte Anzahl von Teilen aufzuteilen.

import numpy as np

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
num_parts = 3
split_lists = np.array_split(my_list, num_parts)
print([list(arr) for arr in split_lists])

Eine Liste in zwei Hälften teilen

Mit Slicing kann man eine Python-Liste in zwei Hälften teilen.

def split_in_half(lst):
    # Calculate the midpoint index of the list
    mid_index = len(lst) // 2
    # Return the two halves of the list
    return lst[:mid_index], lst[mid_index:]

# Example list
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Split the list into two halves
first_half, second_half = split_in_half(my_list)
print(first_half)
print(second_half)

Bei einer Liste mit einer ungeraden Anzahl von Elementen kannst du den Index angeben, der in der ersten Hälfte enthalten sein soll.

def split_in_half(lst):
    # Calculate the midpoint index of the list, including the middle element in the first half if the length is odd
    mid_index = (len(lst) + 1) // 2
    # Return the two halves of the list
    return lst[:mid_index], lst[mid_index:]

# Example list
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# Split the list into two halves, handling odd-length
first_half, second_half = split_in_half(my_list)
print(first_half) 
print(second_half) 

Der Python Developer bietet auch Einblicke in das Schreiben von fortgeschrittenem Code, der dir hilft, fortgeschrittene Techniken des List-Splittings zu verstehen.

Fazit

Es gibt verschiedene Methoden, um Listen in Python aufzuteilen. Jede Methode hängt von der Art der Liste und den Vorlieben des Nutzers für Effizienz ab. Als Datenexperte ist es wichtig, die für deine Analyse geeignete Methode der geteilten Liste auszuwählen.

Wenn du die Python-Splitliste gründlich verstehen willst, kannst du in unserem Kurs Python Grundlagen mehr darüber erfahren. Du kannst auch den Kurs "Einführung in Python" belegen, um sicherzustellen, dass du die Arbeit mit Listen und anderen Datentypen in Python beherrschst. Das Python Cheat Sheet for Beginners ist auch sehr nützlich, wenn du einen Blick darauf werfen willst, wie man eine Liste in Python aufteilt.

Werde ein ML-Wissenschaftler

Bilde dich in Python weiter, um ein/e Wissenschaftler/in für maschinelles Lernen zu werden.

Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Ich verfasse Artikel, die Datenwissenschaft und Analytik vereinfachen und leicht verständlich und zugänglich machen.

Häufig gestellte Fragen

Wann muss ich eine Liste in Python aufteilen?

Die Python-Splitliste ist wichtig für die Datenverarbeitung, besonders bei der Verwaltung großer Datenmengen. Die Transformationen sind hilfreich, wenn du Daten aufteilst, um Analysen durchzuführen, z. B. um Modelle für maschinelles Lernen zu trainieren und zu testen.

Was soll ich tun, wenn die Module itertools und numpy einen Fehler zurückgeben?

Stelle sicher, dass du die entsprechenden Python-Bibliotheken installiert hast. Wenn der Fehler weiterhin besteht, stelle sicher, dass du die kompatiblen Versionen der Bibliotheken aktualisierst und verwendest.

Was ist der Unterschied zwischen dem Aufteilen einer Python-Liste und partition()?

Die partition() Methode gibt drei Tupel zurück, bei denen das bedingte Argument in der Mitte steht.

Kann ich eine Python-Liste mit einem bestimmten Begrenzungszeichen oder einem bestimmten Wert aufteilen?

Du musst das angegebene Trennzeichen oder den Wert angeben, um die Liste aufzuteilen.

Wie kann ich sicherstellen, dass ich die Leistung meines Codes verbessere, wenn ich eine Liste in mehrere Listen aufteile?

Verwende eine wiederverwendbare Funktion, wenn du eine Liste in mehrere Listen aufteilst. Dieser Ansatz sorgt für Effizienz.

Themen

Lerne Python mit DataCamp

Zertifizierung verfügbar

Kurs

Einführung in Funktionen in Python

3 hr
424K
Lerne die Kunst, deine eigenen Funktionen in Python zu schreiben, sowie Schlüsselkonzepte wie Scoping und Fehlerbehandlung.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow