Mir ist ein Verhalten bei Set und Listen aufgefallen, welches mir nicht einleuchtet. Nicht, dass das als Anfänger wichtig ist, aber ich probiere immer alles von A bis Z zu verstehen
Code: Alles auswählen
l1=[1,1,2,2,3,44,5,6,7]
l2 =l1
l1 =list(set(l1))
Listen sind ja Mutable, in diesem Beispiel habe ich eine Liste erstellt, diese mit Zahlen beglückt. Danach habe ich eine zweite Variable erstellt, die auf die Instanz der Liste zeigt. Ich glaube, soweit habe ich das bei Python verstanden
Zu guter letzt, habe ich die Liste von unnötigen Einträgen entfernt. Dafür habe ich im Setkonstruktor eine Liste übergeben.
Rufe ich allerdings die Methode print am Ende für l1 und l2 auf, passiert nicht das, was ich erwarte.
Ich erwarte, dass bei beiden Listen die doppelten Einträge verschwinden. Bei der l1-Variable, ist das gut von statten gegangen. Bei l2, welche ja auf die Instanz l1 zeigt, weniger.
Welches Detail übersehe ich da?
Oder meint ihr, als Anfänger sollten mich solche Sachen nicht kümmern?