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

Variablenzuweisung

Beitragvon Stolzi » 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:

Beitragvon Rebecca » 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: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » 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

Beitragvon Stolzi » Freitag 14. September 2007, 15:18

Ok verstehe danke euch!

Wer ist online?

Mitglieder in diesem Forum: Sirius3