Listenverständnis ist ein sehr leistungsfähiges Werkzeug, das eine neue Liste auf Basis einer anderen Liste in einer einzigen, lesbaren Zeile erstellt.
Nehmen wir zum Beispiel an, wir müssen eine Liste mit ganzen Zahlen erstellen, die die Länge jedes Worts in einem bestimmten Satz angeben, aber nur, wenn das Wort nicht das Wort "der " ist.
satz = "der schnelle braune Fuchs springt über den faulen Hund"
wörter = satz.split() #spaltet den Satz in eine Liste von Wörtern
wort_längen = []
for wort in wörter:
if wort != "der":
wort_längen.append(len(wort))
print(wörter)
print(wort_längen)
Mit Hilfe des Listenverständnisses könnten wir diesen Vorgang auf diese Notation vereinfachen:
satz = "der schnelle braune Fuchs springt über den faulen Hund"
wörter = satz.split()
wort_längen = [len(wort) for wort in wörter if wort != "der"]
print(wörter)
print(wort_längen)
Übung
Erstelle mit Hilfe eines Listenverständnisses aus der Liste "zahlen" eine neue Liste namens " neueliste", die nur die positiven Zahlen aus der Liste enthält, und zwar als ganze Zahlen.
zahlen = [34.6, -203.4, 44.9, 68.3, -12.2, 44.6, 12.7]
neueliste = []
print(neueliste)
zahlen = [34.6, -203.4, 44.9, 68.3, -12.2, 44.6, 12.7]
neueliste = [int(x) for x in zahlen if x > 0]
print(neueliste)
test_output_contains("[34.6, -203.4, 44.9, 68.3, -12.2, 44.6, 12.7]")
success_msg("Hervorragend!")