namen = ["Ali", "Bente", "Carlos"]
noten = [1.7, 2.3, 1.3, 2.0]4 Mehrere Werte speichern
Bisher haben Sie einzelne Werte in Variablen gespeichert. Doch was, wenn Sie eine ganze Reihe von Zahlen, Namen oder Werten auf einmal speichern möchten?
Dafür gibt es in Python Listen. In diesem Kapitel lernen Sie außerdem, wie man mit for-Schleifen über Listen iteriert.
4.1 Was ist eine Liste?
Eine Liste ist eine geordnete Sammlung von Werten eines Datentyps.
Auf Elemente greifen Sie mit eckigen Klammern zu:
print(namen[0]) # erstes Element
print(noten[-1]) # letztes ElementAli
2.0
4.2 Teile aus Listen ausschneiden – Slicing
Mit dem sogenannten Slicing können Sie gezielt Ausschnitte aus einer Liste entnehmen. Dabei geben Sie an, wo der Ausschnitt beginnt und wo er endet (der Endwert wird nicht mehr mitgenommen):
zahlen = [10, 20, 30, 40, 50, 60]
print(zahlen[1:4]) # Ausgabe: [20, 30, 40][20, 30, 40]
Syntax: liste[start:stop]
- start: Index, bei dem das Slicing beginnt (inklusive)
- stop: Index, an dem es endet (exklusive)
- Der Startwert kann auch weggelassen werden:
[:3]→ erstes bis drittes Element - Ebenso der Endwert:
[3:]→ ab dem vierten Element bis zum Ende - Ganze Kopie:
[:]
print(zahlen[:3]) # [10, 20, 30]
print(zahlen[3:]) # [40, 50, 60]
print(zahlen[:]) # vollständige Kopie[10, 20, 30]
[40, 50, 60]
[10, 20, 30, 40, 50, 60]
4.3 Über Listen iterieren
Mit einer for-Schleife können Sie über jedes Element in einer Liste iterieren:
namen = ["Ali", "Bente", "Carlos"]
for name in namen:
print("Hallo", name + "!")Hallo Ali!
Hallo Bente!
Hallo Carlos!
4.4 Erweiterung: Bedingte Ausgaben
Sie können in der Schleife mit if filtern:
temperaturen = [14.2, 17.5, 19.0, 21.3, 18.4]
for t in temperaturen:
if t > 18:
print(t, "ist ein warmer Tag")19.0 ist ein warmer Tag
21.3 ist ein warmer Tag
18.4 ist ein warmer Tag
4.5 Durchschnitt berechnen
Python stellt nützliche Funktionen bereit, z. B. sum() und len():
noten = [1.7, 2.3, 1.3, 2.0]
durchschnitt = sum(noten) / len(noten)
print("Durchschnittsnote:", round(durchschnitt, 2))Durchschnittsnote: 1.82
4.6 Listen erweitern: .append()
Manchmal kennen Sie die Listenelemente nicht vorher – dann können Sie neue Werte nachträglich hinzufügen:
namen = []
namen.append("Ali")
namen.append("Bente")
print(namen)['Ali', 'Bente']
4.7 Verschachtelte Schleifen
Wenn Sie mit mehrdimensionalen Daten arbeiten – z. B. eine Tabelle mit mehreren Zeilen – können Sie Schleifen ineinander verschachteln:
wochentage = ["Mo", "Di", "Mi"]
stunden = [1, 2, 3]
for tag in wochentage:
for stunde in stunden:
print(f"{tag}, Stunde {stunde}")Mo, Stunde 1
Mo, Stunde 2
Mo, Stunde 3
Di, Stunde 1
Di, Stunde 2
Di, Stunde 3
Mi, Stunde 1
Mi, Stunde 2
Mi, Stunde 3
Das ergibt:
Mo, Stunde 1
Mo, Stunde 2
Mo, Stunde 3
Di, Stunde 1
...
4.8 Listen sortieren
Mit sorted() können Sie Listen alphabetisch oder numerisch sortieren:
namen = ["Zoe", "Anna", "Ben"]
sortiert = sorted(namen)
print(sortiert)['Anna', 'Ben', 'Zoe']