Python Listen
Listen sind einer der 4 Datentypen in Python, die zur Speicherung von Datensammlungen verwendet werden.
# Liste: geordnete Sammlung von Elementen, eingeschlossen in eckige Klammern
['John', 'Peter', 'Debora', 'Charles']
Werte mit Indizes abrufen
# Auf Listenelemente mit Index zugreifen (0-basiert, das erste Element hat Index 0)
furniture = ['table', 'chair', 'rack', 'shelf']
furniture[0] # Gibt das erste Element zurück: 'table'
'table'
furniture[1]
'chair'
furniture[2]
'rack'
furniture[3]
'shelf'
Negative Indizes
# Negativer Index: Greift auf Elemente vom Ende der Liste zu
furniture = ['table', 'chair', 'rack', 'shelf']
furniture[-1] # Gibt das letzte Element zurück: 'shelf'
'shelf'
furniture[-3]
'chair'
f'The {furniture[-1]} is bigger than the {furniture[-3]}'
'The shelf is bigger than the chair'
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
furniture[-1] zurück, wenn furniture = ['table', 'chair', 'rack', 'shelf']?'table''shelf'['shelf']IndexErrorUnterlisten mit Slices abrufen
# Slicing: Unterliste mit der Syntax [start:ende] abrufen (ende ist exklusiv)
furniture = ['table', 'chair', 'rack', 'shelf']
furniture[0:4] # Gibt Elemente von Index 0 bis 3 zurück (4 ausgeschlossen)
['table', 'chair', 'rack', 'shelf']
furniture[1:3]
['chair', 'rack']
furniture[0:-1]
['table', 'chair', 'rack']
# Slice vom Anfang: Startindex weglassen (standardmäßig 0)
furniture[:2] # Gibt die ersten beiden Elemente zurück
['table', 'chair']
# Slice bis zum Ende: Endindex weglassen (standardmäßig Ende der Liste)
furniture[1:] # Gibt alle Elemente ab Index 1 bis zum Ende zurück
['chair', 'rack', 'shelf']
furniture[:]
['table', 'chair', 'rack', 'shelf']
Das Slicen der gesamten Liste führt zu einer Kopie:
# Slicing erstellt eine Kopie: [:] erstellt eine flache Kopie der Liste
spam = ['cat', 'bat', 'rat', 'elephant']
spam2 = spam[:] # Erstellt eine Kopie, keine Referenz
spam2
['cat', 'bat', 'rat', 'elephant']
spam.append('dog')
spam
['cat', 'bat', 'rat', 'elephant', 'dog']
spam2
['cat', 'bat', 'rat', 'elephant']
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
spam[:], wenn spam eine Liste ist?Die Länge einer Liste mit len() ermitteln
# len() gibt die Anzahl der Elemente in einer Liste zurück
furniture = ['table', 'chair', 'rack', 'shelf']
len(furniture) # Gibt 4 zurück
4
Werte mit Indizes ändern
# Listenelemente ändern, indem neuen Werten Indizes zugewiesen werden
furniture = ['table', 'chair', 'rack', 'shelf']
furniture[0] = 'desk' # Erstes Element ersetzen
furniture
['desk', 'chair', 'rack', 'shelf']
furniture[2] = furniture[1]
furniture
['desk', 'chair', 'chair', 'shelf']
furniture[-1] = 'bed'
furniture
['desk', 'chair', 'chair', 'bed']
Konkatenation und Wiederholung
# Listenkonkatenation: zwei Listen mit dem + Operator kombinieren
[1, 2, 3] + ['A', 'B', 'C'] # Gibt [1, 2, 3, 'A', 'B', 'C'] zurück
[1, 2, 3, 'A', 'B', 'C']
# Listenwiederholung: Liste mehrmals mit dem * Operator wiederholen
['X', 'Y', 'Z'] * 3 # Gibt ['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z'] zurück
['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z']
my_list = [1, 2, 3]
my_list = my_list + ['A', 'B', 'C']
my_list
[1, 2, 3, 'A', 'B', 'C']
Verwendung von for-Schleifen mit Listen
# Über Listenelemente mit einer for-Schleife iterieren
furniture = ['table', 'chair', 'rack', 'shelf']
for item in furniture: # Durch jedes Element iterieren
print(item)
table
chair
rack
shelf
Den Index in einer Schleife mit enumerate() erhalten
# enumerate() gibt sowohl Index als auch Wert in einer Schleife zurück
furniture = ['table', 'chair', 'rack', 'shelf']
for index, item in enumerate(furniture): # Index und Element zusammen erhalten
print(f'index: {index} - item: {item}')
index: 0 - item: table
index: 1 - item: chair
index: 2 - item: rack
index: 3 - item: shelf
Schleife über mehrere Listen mit zip()
# zip() kombiniert mehrere Listen elementweise in einer Schleife
furniture = ['table', 'chair', 'rack', 'shelf']
price = [100, 50, 80, 40]
for item, amount in zip(furniture, price): # Elemente aus beiden Listen paaren
print(f'The {item} costs ${amount}')
The table costs $100
The chair costs $50
The rack costs $80
The shelf costs $40
Die Operatoren in und not in
# in Operator: Prüfen, ob ein Element in einer Liste vorhanden ist
'rack' in ['table', 'chair', 'rack', 'shelf'] # Gibt True zurück
True
'bed' in ['table', 'chair', 'rack', 'shelf']
False
furniture = ['table', 'chair', 'rack', 'shelf']
'bed' not in furniture
True
'rack' not in furniture
False
Der Trick der Mehrfachzuweisung
Der Trick der Mehrfachzuweisung ist eine Abkürzung, mit der Sie mehrere Variablen mit den Werten in einer Liste in einer einzigen Codezeile zuweisen können. Anstatt also dies zu tun:
furniture = ['table', 'chair', 'rack', 'shelf']
table = furniture[0]
chair = furniture[1]
rack = furniture[2]
shelf = furniture[3]
Könnten Sie diese Codezeile eingeben:
furniture = ['table', 'chair', 'rack', 'shelf']
table, chair, rack, shelf = furniture
table
'table'
chair
'chair'
rack
'rack'
shelf
'shelf'
Der Trick der Mehrfachzuweisung kann auch verwendet werden, um die Werte in zwei Variablen zu tauschen:
a, b = 'table', 'chair'
a, b = b, a
print(a)
chair
print(b)
table
Die index Methode
Die index-Methode ermöglicht es Ihnen, den Index eines Wertes zu finden, indem Sie dessen Namen übergeben:
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.index('chair')
1
Werte hinzufügen
append()
append fügt ein Element am Ende einer list hinzu:
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.append('bed')
furniture
['table', 'chair', 'rack', 'shelf', 'bed']
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
append() bei einer Liste?insert()
insert fügt ein Element an einer gegebenen Position zu einer list hinzu:
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.insert(1, 'bed')
furniture
['table', 'bed', 'chair', 'rack', 'shelf']
Werte entfernen
del
del entfernt ein Element anhand des Index:
furniture = ['table', 'chair', 'rack', 'shelf']
del furniture[2]
furniture
['table', 'chair', 'shelf']
del furniture[2]
furniture
['table', 'chair']
remove()
remove entfernt ein Element anhand seines tatsächlichen Wertes:
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.remove('chair')
furniture
['table', 'rack', 'shelf']
Entfernen wiederholter Elemente
Wenn der Wert mehrmals in der Liste vorkommt, wird nur die erste Instanz des Wertes entfernt.
pop()
Standardmäßig entfernt und gibt pop das letzte Element der Liste zurück. Sie können auch den Index des Elements als optionalen Parameter übergeben:
animals = ['cat', 'bat', 'rat', 'elephant']
animals.pop()
'elephant'
animals
['cat', 'bat', 'rat']
animals.pop(0)
'cat'
animals
['bat', 'rat']
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
pop(), wenn es für eine Liste aufgerufen wird?Werte mit sort() sortieren
numbers = [2, 5, 3.14, 1, -7]
numbers.sort()
numbers
[-7, 1, 2, 3.14, 5]
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.sort()
furniture
['chair', 'rack', 'shelf', 'table']
Sie können auch True für das Schlüsselwortargument reverse übergeben, damit sort() die Werte in umgekehrter Reihenfolge sortiert:
furniture.sort(reverse=True)
furniture
['table', 'shelf', 'rack', 'chair']
Wenn Sie die Werte in regulärer alphabetischer Reihenfolge sortieren müssen, übergeben Sie str.lower für das Schlüsselwortargument key im sort()-Methodenaufruf:
letters = ['a', 'z', 'A', 'Z']
letters.sort(key=str.lower)
letters
['a', 'A', 'z', 'Z']
Sie können die eingebaute Funktion sorted verwenden, um eine neue Liste zurückzugeben:
furniture = ['table', 'chair', 'rack', 'shelf']
sorted(furniture)
['chair', 'rack', 'shelf', 'table']
Der Tupel-Datentyp
Der Hauptunterschied zwischen Tupeln und Listen besteht darin, dass Tupel unveränderliche Objekte sind, während Listen veränderliche Objekte sind. Das bedeutet, dass Tupel nicht geändert werden können, während Listen modifiziert werden können. Tupel sind speichereffizienter als Listen.
furniture = ('table', 'chair', 'rack', 'shelf')
furniture[0]
'table'
furniture[1:3]
('chair', 'rack')
len(furniture)
4
Die Hauptunterschiede zwischen Tupeln und Listen bestehen darin, dass Tupel, ähnlich wie Strings, unveränderlich sind.
Konvertierung zwischen list() und tuple()
tuple(['cat', 'dog', 5])
('cat', 'dog', 5)
list(('cat', 'dog', 5))
['cat', 'dog', 5]
list('hello')
['h', 'e', 'l', 'l', 'o']
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen