Seite 1 von 1

Liste von Listen auffüllen

Verfasst: Freitag 11. Dezember 2020, 12:46
von Ameinsenpeter
Hallo Community, bin gerade auf etwas gestossen und etwa ratlos.
Ich möchte eine Liste von leeren Listen mit Werten auffüllen. Das klappt aber leider nicht wie ich möchte.
Was mich dabei verwundert, ist dass es mit einer Liste von Listen (die schon mind. einen Eintrag hat) funktioniert.
Ich habe schon mehrere alternativen Versucht, doch das Ergebnis ist immer das gleiche.
Mein Code sieht, vereinfacht, wie folgt aus:

Code: Alles auswählen

volleliste = [[0],[0],[0]]
leereliste = list([list()]*3)
i=0
for vl,ll in zip(volleliste,leereliste):
    vl.append(i)
    ll.append(i)
    i+=1
print(volleliste)
print(leereliste) 
Der Output sieht dann wie folgt aus:
leereliste -> [[0,0],[0,1],[0,2]]
volleliste -> [[0,1,2],[0,1,2],[0,1,2]]

Wieso wird leereliste also nicht so gefüllt wie volleliste, sodass ich:
volleliste -> [[0],[1],[2]]
erhalte?

Re: Liste von Listen auffüllen

Verfasst: Freitag 11. Dezember 2020, 13:20
von Sirius3
Du hast die selbe Liste dreimal in der äußeren Liste.
Das äquivalent wäre ja

Code: Alles auswählen

leereliste = [[], [], []]
Wenn möglich, erzeugt man Listen dynamisch. Dann hat man keine solchen Probleme.