Lädt...

Liste in einer Zeile bauen

Die Zahlen stehen schon da: 2, dann 5, dann 1. Eine Zeile baut daraus eine neue Liste. doubled = [n * 2 for n in prices] geht jede Zahl durch, verdoppelt sie und speichert 4, dann 10, dann 2. prices wird nicht neu geschrieben. n ist nur der Name der Zahl, an der die Zeile gerade ist: erst 2, dann 5, dann 1.

4, dann 10, und prices hat weiter drei Zahlen

python
prices = [2, 5, 1]
doubled = [n * 2 for n in prices]

print(doubled[0])
print(doubled[1])
print(len(prices))

Auf dem Bildschirm steht 4, dann 10, dann 3. 4 ist die erste neue Zahl, 2 verdoppelt. 10 ist die nächste, 5 verdoppelt. Die 3 ist, wie viele Zahlen prices noch hat. Die letzte neue Zahl ist 2, aus 1 verdoppelt, und dieses Programm schreibt sie nicht.

prices[0] ist weiter 2. Das Verdoppeln hat eine neue Liste geschrieben. Die alte hat es nicht ersetzt. Wenn die Zeile fertig ist, liest du doubled. n war nur in Gebrauch, während die Zeile über die Zahlen ging.

Ein Test kann eine Zahl draußen lassen. Dieses Programm fängt neu an, also ist doubled nicht hier. small = [n for n in prices if n < 5] behält eine Zahl nur, wenn sie kleiner als 5 ist. 2 kommt hinein. 5 nicht. 1 kommt hinein. Die neue Liste ist 2, dann 1. prices hat weiter drei Zahlen.

die erste gebliebene Zahl, dann wie viele blieben

python
prices = [2, 5, 1]
small = [n for n in prices if n < 5]

print(small[0])
print(len(small))

Auf dem Bildschirm steht 2, dann 2. Die erste 2 ist small[0], die Zahl 2, die geblieben ist. Die zweite 2 ist, wie viele Zahlen geblieben sind. 5 ist nicht in small. small[1] wäre 1, und dieses Programm schreibt es nicht.

📊 Verdoppeln, behalten oder stoppen

Zeile Was du bekommst
[n * 2 for n in prices] eine neue Liste 4, 10, 2, und prices bleibt
[n for n in prices if n < 5] eine neue Liste 2, dann 1, und 5 bleibt draußen
prices[0] weiter 2
n * 2 for n in prices das Programm stoppt, weil die Klammern fehlen

Die Klammern gehören zur Zeile. Ohne sie stoppt das Programm. Der Name vorn und der Name nach for müssen derselbe Name sein. [n * 2 for price in prices] stoppt ebenfalls, weil n nie eine Zahl bekommt. price wäre der Name, der weitergeht, und der verdoppelte Teil benutzt ihn nicht.

Die nächste Seite handelt vom Namen eines Stopps, wenn das Programm auf ein Problem trifft. Diese Seite baut nur eine Liste in einer Zeile.

Was die zwei Listen zeigen

  1. Was schreibt das erste Programm?
  2. Was ist nach diesem Programm prices[0]?
  3. Was schreibt das zweite Programm?
  4. Was passiert, wenn du die Verdopplungszeile ohne die Klammern schreibst?

Eine neue Liste, und die alte bleibt

Der erste Bildschirm ist 4, dann 10, dann 3. prices[0] ist weiter 2. Der zweite ist 2, dann 2: die erste gebliebene Zahl, dann wie viele blieben. 5 blieb draußen. Ohne die Klammern stoppt das Programm. Der Name, den du verdoppelst, und der Name nach for sind derselbe. Die nächste Seite handelt vom Namen eines Stopps.

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
4
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 Anweisungen

  • Lesen Sie jede Frage sorgfältig
  • Wählen Sie die beste Antwort für jede Frage
  • Sie können das Quiz so oft wiederholen, wie Sie möchten
  • Ihr Fortschritt wird oben angezeigt