Listen tauchen ständig in unserem Alltag auf.
Listen werden in Python angelegt mit []. In die eckigen Klammern können Elemente in die Liste eingefügt werden.
liste_leer = []
liste_primzahlen = [2,3,5,7,11]
liste_zutaten = ["Eier", "Mehl", "Zucker"]
Mit der Methode append(...) können neue Elemente hinzugefügt werden
liste_primzahlen.append(13)
liste_zutaten.append("Salz")
Mit der for-Schleife kann auf jedes Element nacheinander zugegriffen werden
for primzahl in liste_primzahlen:
print(primzahl)
for zutat in liste_zutaten:
print(zutat)
Die Funktion len([1,2,3]) gibt die Länge einer Liste zurück.
print(len([]))
print(len([1,2,3,4,5]))
print(len(range(10,20,2)))
Jedes Element einer Liste bekommt einen Index. Dieser beginnt bei 0. Für die Liste ["Eier", "Mehl", "Zucker"] bekommt Eier den Index 0, Mehl den Index 1 und Zucker den Index 2.
Mit liste[index] kann auf das Element mit dem index einer Liste zugegriffen werden.
liste_zutaten = ["Eier", "Mehl", "Zucker"]
print(liste_zutaten[0])
print(liste_zutaten[1])
print(liste_zutaten[2])
# Fehler!
print(liste_zutaten[3])
Man kann auch die range-Funktion nutzen, um sich die Indizes generieren zu lassen.
liste_zutaten = ["Eier", "Mehl", "Zucker"]
for i in range(len(liste_zutaten)):
print("Index", i , liste_zutaten[i])
Elemente der Liste können über den Index geändert werden.
liste_zutaten = ["Eier", "Mehl", "Zucker"]
liste_zutaten[0] = "Bio-Eier"
liste_zutaten[1] = "Bio-Mehl"
liste_zutaten[2] = "Salz"
print(liste_zutaten)
Aufgabe
a) Erstellen Sie eine Liste mit 5 Vornamen aus dem Kurs.
b) Geben Sie das Element an Index 1 aus.
c) Geben Sie die Elemente der Liste mit der for-Schleife aus.
d) Geben Sie die Länge der Liste aus.
e) Geben Sie das letzte Element aus.
f) Ändern Sie das Element an Index 2 zu "Gerda"
g) Tauschen Sie die Elemente an Index 0 und 1
h) Löschen Sie das Element an index 3 (Methode der Klasse heißt remove(index))
Für schnelle: https://www.geeksforgeeks.org/python/python-list-slicing/
Lösung
#a) Erstellen Sie eine Liste mit 5 Vornamen aus dem Kurs.
idole = ['Meine Mutter', 'Opa', 'Bommes', 'Sabrina Carpenter','Frau Asendorpf']
#b) Geben Sie das Element an Index 1 aus.
print(idole[1])
#c) Geben Sie die Elemente der Liste mit der for-Schleife aus.
for i in idole:
print(i)
#d) Geben Sie die Länge der Liste aus.
print(len(idole))
#e) Geben Sie das letzte Element aus.
letzter_index = len(idole) - 1
print(idole[letzter_index])
print(idole[-1])
#f) Ändern Sie das Element an Index 2 zu "Gerda"
idole[2] = "Gerda"
#g) Tauschen Sie die Elemente an Index 0 und 1
temp = idole[0]
idole[0] = idole[1]
idole[1] = temp
idole[0],idole[1] = idole[1],idole[0]
print(idole)
#h) Löschen Sie das Element an index 3 (Methode der Klasse heißt pop(index))
idole.pop(3)
print(idole)
Vervollständigt folgendes Klassendiagramm für Listen.
Hilfestellung: Schreibe in Thonny []. und drücke STRG + Leertaste
| Liste |
|---|
| + append(wert:Object): None |
| + pop(index:int):Object |
| + remove(wert:Object):None |
| + clear():None |
| + index(wert:Object):int |
| + insert(index:int, wert:Object):None |
| + reverse():None |
| + sort():None |
Ohne es zu wissen habt ihr die ganze Zeit schon mit Klassen gearbeitet. In Python ist alles eine Klasse. Auch Datentypen wie
Beispiel String: Wenn ihr schreibt "Hallo" wird der Konstruktor init() der Klasse aufgerufen.
| String |
|---|
| # ... |
| + capitalize(): str |
| + upper(): str |
| + lower(): str |
| # Gibt den index von 'text' zurück # -1 wnn text nicht vorkommt + index(text): int |