Variablenzuweisung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Stolzi
User
Beiträge: 155
Registriert: Mittwoch 18. August 2004, 15:44

Freitag 14. September 2007, 14:33

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
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Freitag 14. September 2007, 14:43

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!
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
EyDu
User
Beiträge: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Freitag 14. September 2007, 14:44

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).
Stolzi
User
Beiträge: 155
Registriert: Mittwoch 18. August 2004, 15:44

Freitag 14. September 2007, 15:18

Ok verstehe danke euch!
Antworten