Seite 1 von 1

Variablenzuweisung

Verfasst: Freitag 14. September 2007, 14:33
von Stolzi
Hi,

wie kann ich denn dieses Verhalten ändern

Code: Alles auswählen

>>> list=["a","b"]
>>> list
['a', 'b']
>>> c=list
>>> d=list
>>> c
['a', 'b']
>>> d
['a', 'b']
>>> d.pop(0)
'a'
>>> d
['b']
>>> c
['b']
Ich möchte, dass hier a nur aus der Liste d gelöscht wirt.

Danke
Stolzi

Verfasst: Freitag 14. September 2007, 14:43
von Rebecca
Indem du eine Kopie der Liste erzeugst:

Code: Alles auswählen

d = liste[:]
Ansonsten hast du nur Referenzen auf das gleiche Objekt. Alles ist eine Referenz!

Verfasst: Freitag 14. September 2007, 14:44
von EyDu
Du musst eine Kopie der Liste c erzeugen:

Code: Alles auswählen

d = list[:]
"list" ist übrigens ein ungünstiger Name, da da damit den built-in-Namen "list" verdeckst (und der Name natürlich vollkommen nichtssagend ist).

Verfasst: Freitag 14. September 2007, 15:18
von Stolzi
Ok verstehe danke euch!