Listen kopieren, nicht nur einen Zeiger erstellen

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.
ASCII158
User
Beiträge: 80
Registriert: Samstag 28. September 2002, 15:40
Wohnort: München
Kontaktdaten:

Listen kopieren, nicht nur einen Zeiger erstellen

Beitragvon ASCII158 » Sonntag 9. März 2003, 09:58

Hallo Leute,

ich weiß, daß diese Frage hier schonmal irgendwo aufgetaucht ist, ich kann sie nur nicht finden.

Wenn ich eine Liste mache:

Code: Alles auswählen

a=['a','b','c']


dann eine Kopie davon erstellen will:



und in der Kopie was ändere:

Code: Alles auswählen

b.remove['a'


dann ändert sich auch a.

Wie kann ich eine echte Kopie einer Liste erstellen?

Danke!
mfg,

10011110
RicmanX
User
Beiträge: 69
Registriert: Donnerstag 29. August 2002, 17:10
Wohnort: Erfurt
Kontaktdaten:

Beitragvon RicmanX » Sonntag 9. März 2003, 11:39

Ich glaub das ging dadurch, das man ne richtige Kopiermethode nimmt: lesen -> schreiben

Code: Alles auswählen

b=a[:]
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Sonntag 9. März 2003, 12:45

Hi '\x9e',

Code: Alles auswählen

>>> import copy
>>> a = [1,2,3,4,5]
>>> b = copy.copy(a)
>>> b[3] = 8
>>> a
[1, 2, 3, 4, 5]
>>> b
[1, 2, 3, 8, 5]


Das Modul copy kennt auch noch eine Funktion deepcopy() welche bei listen die Listen oder Instanzen enthalten nützlich sein kann.


Gruß

Dookie
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Sonntag 20. Juli 2003, 14:42

Seit Python 2.1 geht auch

Code: Alles auswählen

>>> a = [1,2,3,4,5]
>>> b = a[:]
>>> b[3] = 8
>>> a
[1, 2, 3, 4, 5]
>>> b
[1, 2, 3, 8, 5


Gruß

Dookie

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder