So stieß ich in Python auf etwas sehr Seltsames. Ich habe versucht, einen Verweis auf die Liste hinzuzufügen. Der Code könnte dazu beitragen, das, was ich sage, besser zu demonstrieren, als ich ausdrücken kann. Ich benutze den IDLE-Editor (interaktiver Modus).Rekursiver Verweis auf eine Liste in sich selbst
>>>l=[1,2,3]
>>>l.append(l)
>>>print(l)
[1,2,3,[...]]
>>>del l[:-1]
>>>print(l)
[[...]]
Bis jetzt ist die Ausgabe wie erwartet. Aber wenn ich das tue.
y=l[:]
print(y)
Mir scheint es, dass die Ausgabe
[[...]]
sein sollte, aber es ist
[[[...]]]
Anscheinend stattdessen eine Kopie der Liste zu erstellen, legt es einen Verweis auf die Liste in y.
y [0] ist l gibt True zurück. Ich kann keine gute Erklärung dafür finden. Irgendwelche Ideen?
Könnten Sie näher ausführen? Du hast mich verloren bei ** "Es fängt an zu drucken y: [???] ..... ** – Guy
Auch was, wenn ich eigentlich eine Kopie der Liste wollte? Ich weiß, dass ich in diesem Fall einfach dasselbe mit y machen kann Aber um der Diskussion willen gibt es einen Weg, wie ich es tun kann? – Guy
@Sabyasachi: Es ist klarer so? – hivert