ich möchte in Python eine zweidimensionale Liste erzeugen und dort einen Wert ändern.
Wenn ich die Liste komplett vorgebe bzw erstelle, dann funktioniert das auch ohne Probleme.
Wenn ich aber mit einer Schleife die Listen in der Liste hinzufüge, komm ich zwar auch auf die gleiche Liste, aber beim ändern eines Wertes, werden in allen Unterlisten der eine Wert geändert. Gibt es da irgendeinen Trick, wie ich das hinbekomme, bzw benutze ich vielleicht einfach nur die falsche Funktion zum einfügen?
Ich benutze Python 3.
Hier mal ein Beispiel, im ersten Fall funktioniert es ohne Probleme, im zweiten werden 2 'x' gemacht, obwohl ich genau das gleiche Feld geändert habe.
Kann mir jemand helfen?
Code: Alles auswählen
liste = [['_','_'],['_','_']]
liste[0][0] = 'x'
print(liste)
Code: Alles auswählen
Ausgabe:
[['x', '_'], ['_', '_']]
Code: Alles auswählen
liste = []
teilliste = []
for j in range(2):
teilliste[len(teilliste):] = ['_']
for i in range(2):
liste[len(liste):] = [teilliste]
liste[0][0] = 'x'
print(liste)
Code: Alles auswählen
Ausgabe:
[['x', '_'], ['x', '_']]