Listing "Quadratzahlen mit for"

Angenommen, du brauchst eine Liste mit den ersten zehn Quadratzahlen. Das könntest du mit folgendem Code erreichen:

quadratzahlen = []

for i in range(1, 10):
    quadratzahlen.append(i * i)
    
print(quadratzahlen)
#=> [1, 4, 9, 16, 25, 36, 49, 64, 81]
 
Listing "Quadratzahlen mit Listenabstraktion"

Python stellt aber einen sehr viel knapperen und eleganteren Weg zur Verfügung, um diese Liste zu produzieren:

quadratzahlen = [i * i for i in range(10)]

print(quadratzahlen)
#=> [1, 4, 9, 16, 25, 36, 49, 64, 81]
 
Listing "Gerade Zahlen filtern"

Dieses Beispiel zeigt, wie du eine neue Liste erzeugen kannst, indem du alle Elemente einer bereits vorhandenen Liste nimmst, die eine bestimmte Bedingung erfüllen. In diesem Fall, dass sie gerade Zahlen sind (  % 2 steht für "Rest nach ganzzahliger Division". Daher bedeutet zahl % 2 == 0, dass zahl duch zwei teilbar, also gerade ist.)

zahlen = [9, 13, 22, 7, 15, 8, 20, 37, 12]

gerade_zahlen = []

for zahl in zahlen:
    if zahl % 2 == 0:
        gerade_zahlen.append(zahl)
        
print(gerade_zahlen)
#=> [22, 8, 20, 12]
 
Listing "Gerade Zahlen filtern mit Listenabstraktion"

Auch hier gibt es einen eleganteren und knapperen Weg, das Ziel zu erreichen:

zahlen = [9, 13, 22, 7, 15, 8, 20, 37, 12]

gerade_zahlen = [zahl for zahl in zahlen if zahl % 2 == 0]

print(gerade_zahlen)
#=> [22, 8, 20, 12]

[Hier noch ergänzen: Profitipp filter + funktion]


Zuletzt geändert: Dienstag, 4. Februar 2025, 06:32