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'
Quiz

Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen

Was gibt furniture[-1] zurück, wenn furniture = ['table', 'chair', 'rack', 'shelf']?
A. 'table'
B. 'shelf'
C. ['shelf']
D. IndexError

Unterlisten 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']
Quiz

Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen

Was erstellt spam[:], wenn spam eine Liste ist?
A. Eine Referenz auf dieselbe Liste
B. Eine leere Liste
C. Eine flache Kopie der Liste
D. Eine umgekehrte Liste

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']
Quiz

Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen

Was bewirkt die Methode append() bei einer Liste?
A. Fügt ein Element am Ende der Liste hinzu
B. Fügt ein Element am Anfang der Liste hinzu
C. Ersetzt das letzte Element
D. Entfernt das letzte Element

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']
Quiz

Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen

Was bewirkt pop(), wenn es für eine Liste aufgerufen wird?
A. Entfernt nur das letzte Element
B. Entfernt und gibt ein Element zurück (standardmäßig das letzte Element oder der angegebene Index)
C. Gibt nur das letzte Element zurück, ohne es zu entfernen
D. Entfernt alle Elemente aus der Liste

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

Tupel vs Listen

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']
Quiz

Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen

Was ist der Hauptunterschied zwischen Listen und Tupeln in Python?
A. Listen können nur Zahlen enthalten, Tupel können alles enthalten
B. Tupel sind schneller zu erstellen
C. Listen sind veränderlich (können geändert werden), Tupel sind unveränderlich (können nicht geändert werden)
D. Listen verwenden eckige Klammern, Tupel verwenden geschweifte Klammern