ich komme bei einem Thema einfach nicht weiter... Und zwar verstehe ich nicht warum meine list1 ab Zeile 14 immer wieder die gleichen Werte anzeigt wie list2. Diesen Effekt sieht man in dem Konsolen Output, nachdem ich der list2 den Wert 2 einfüge.... Ich möchte der Liste2 eigentlich nur einmalig die Werte der Liste1 übergeben und nicht das beide Listen ab Zeile 14 immer die gleichen Werte haben.
Wenn ich die Listen in dem Beispiel Code durch Variablen ersetze, dann wird der Wert in Zeile 14 auch nur einmalig übergeben und beide Variablen sind danach von einander unabhängig...
Kann mir jemand das Phänomen (dass nur bei Listen aufkommt) erklären?
Vielen Dank im Voraus und Grüße,
Martin
Hier der Code zu meinem Problem:
Code: Alles auswählen
list2=[]
class AnyClass:
list1 = []
def __init__(self, list1 = ["1"]):
self.list1 = list1
Instance1 = AnyClass()
print("list1:", Instance1.list1)
print("list2:", list2)
list2 = Instance1.list1
print("list1:", Instance1.list1)
print("list2:", list2)
list2.insert(0,"2")
print("list1:", Instance1.list1)
print("list2:", list2)
console:
list1: ['1']
list2: []
list1: ['1']
list2: ['1']
list1: ['2', '1']
list2: ['2', '1']