Lädt...

Kopieren

bag.copy() nimmt die Werte, die gerade in bag stehen, und legt sie in eine neue Liste. Gerade sind das tea und danach water, also stehen in der neuen Liste tea und danach water. Der Name other ist diese neue Liste. other ist nicht bag.

Vor jedem Ersetzen ist other Platz 0 tea und other Platz 1 water. Die Länge ist 2. Die Kopie ist ein Bild dieses Augenblicks. Sie schaut bag danach nicht weiter zu.

bag[0] = "soup" setzt soup nur in bag an die Stelle von tea. other beginnt weiter mit tea, und water bleibt auf Platz 1 in beiden Listen. Beide Längen bleiben 2. Die Kopie übernimmt das spätere Ersetzen nicht.

soup bleibt aus der Kopie

python
bag = ["tea", "water"]
other = bag.copy()
bag[0] = "soup"

print(bag)
print(other)

Die erste Zeile ist soup, dann water. Die zweite Zeile ist tea, dann water. soup steht nur in bag. tea ist in other weiter vorn. print schreibt jede Liste mit ihren Klammern, damit die beiden Listen nebeneinander zu sehen sind.

In die andere Richtung gilt dasselbe. other[1] = "bread" würde bread nur in other setzen. bag Platz 1 bliebe water. Dieses Programm macht den Schritt nicht. Es ändert bag erst nach dem Kopieren.

bag[:] baut ebenfalls eine neue Liste mit denselben Werten. Das ist der Ausschnitt der ganzen Liste, und das Ergebnis ist von bag getrennt. other = bag kopiert nicht. Beide Namen sind die eine Liste, also zeigt sich ein späteres Ersetzen unter beiden Namen.

📊 Drei Schreibweisen

Schreiben Was du bekommst
bag.copy() eine neue Liste mit den Werten von jetzt
bag[:] eine neue Liste mit denselben Werten
other = bag keine neue Liste; beide Namen sind die eine Liste

Der Name, der tea nicht festhält

Schreibst du other = bag und danach bag[0] = "soup", zeigt other ebenfalls soup. Eine zweite Liste, die tea behalten hätte, gab es nicht. Das Programm oben benutzt copy(), deshalb behält other tea, dann water.

Die nächste Seite bringt Werte in eine Reihenfolge. Diese Seite sortiert nicht. tea bleibt in other vor water, weil das die Reihenfolge beim Kopieren war. soup steht in bag vorn, nur weil du Platz 0 nach dem Kopieren ersetzt hast.

Was getrennt blieb

  1. Was schreibt das Programm, die erste Zeile und dann die zweite?
  2. Was ist nach dem Programm der erste Wert in other?
  3. Wenn du danach other Platz 1 auf bread setzt, was bleibt in bag auf Platz 1?
  4. Was tut other = bag, und copy() nicht?

tea bleibt in der Kopie

Der Bildschirm ist soup, dann water, und danach tea, dann water. other beginnt weiter mit tea. Beide Längen sind 2. bread in other ließe water in bag auf Platz 1. other = bag ist eine Liste, soup erschiene also unter beiden Namen. bag[:] ist eine weitere neue Liste mit denselben Werten. Die nächste Seite ordnet Werte. Sie macht diese Kopie nicht.

🧠 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

❓
6
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