Die Suche ergab 4 Treffer

von waXve
Donnerstag 12. August 2010, 14:38
Forum: Allgemeine Fragen
Thema: Listen Klonen funktioniert nicht
Antworten: 6
Zugriffe: 761

Re: Listen Klonen funktioniert nicht

*Brett gegen Kopfschlag Smily*

Stimmt. mit dem Code

Code: Alles auswählen

import copy

a = ['hallo',[[1,2],['bla', 'blub']]]
b = copy.deepcopy(a)
a [1][0][1] = 'test'
print b
print id(a)
print id(b)
funktioniert es einwandfrei. Dankeschön
von waXve
Donnerstag 12. August 2010, 14:30
Forum: Allgemeine Fragen
Thema: Listen Klonen funktioniert nicht
Antworten: 6
Zugriffe: 761

Re: Listen Klonen funktioniert nicht

Bisschen Code zu Cofis Antwort:
In [27]: a = [[1,2],[3,4]]

In [28]: b = copy.copy(a)

In [29]: c = copy.deepcopy(a)

In [30]: a[0][0] = 42

In [31]: a
Out[31]: [[42, 2], [3, 4]]

In [32]: b
Out[32]: [[42, 2], [3, 4]]

In [33]: c
Out[33]: [[1, 2], [3, 4]]


Grüße
Gerrit

Ich bekomme immer noch ...
von waXve
Donnerstag 12. August 2010, 14:27
Forum: Allgemeine Fragen
Thema: Listen Klonen funktioniert nicht
Antworten: 6
Zugriffe: 761

Re: Listen Klonen funktioniert nicht

ich habs jetzt mit

Code: Alles auswählen

b = a.deepcopy()
versucht, erhalte aber einen Fehler:

Code: Alles auswählen

AttributeError: 'list' object has no attribute 'deepcopy'
Wie genau muss ich deepcopy anwenden? (Ich werde aus der doku nicht ganz schlau)

Muss ich noch was zusätzliches Einbinden?
von waXve
Donnerstag 12. August 2010, 14:09
Forum: Allgemeine Fragen
Thema: Listen Klonen funktioniert nicht
Antworten: 6
Zugriffe: 761

Listen Klonen funktioniert nicht

Hallo zusammen,
ich hoffe, ihr könnt mir sagen, warum ich eine Liste nicht Klonen kann.
Mit folgendem Beispiel funktioniert es:
a = [1,2,3]
b = a[:]
a [0] = 5
print b
Das ergebnis ist dann:
[1,2,3]
Genau so solls auch sein. Wenn ich allerdings
a = ['hallo',[[1,2],['bla', 'blub']]]
b = a[:]
a ...