Python Listen - erste Elemente verändern sich simultan

...komplette Frage anzeigen

1 Antwort

Hallo eytsh,

du hast in zeile 4 das Objekt in der Variable liste. Das ist eine Referenz. Nun fügst du diese Referenz (nicht eine Kopie) mehrmals hinzu.

Stichpunkt call by reference/call by value.

Vergleiche es mal mit dem hier:

s = 5
liste = []
for i in range (0,s):
    liste.append(True)

print(liste)
feld = []
for i in range (0,s):
    feld.append([True for i in range(0,s)])  
feld[0][0] = False
print(feld)
cinatic 04.07.2014, 15:17

Sorry hier nochmal in pre tags:

s = 5
liste = []
for i in range (0,s):
    liste.append(True)

print(liste)
feld = []
for i in range (0,s):
    feld.append([True for i in range(0,s)])  
feld[0][0] = False
print(feld)
0

Was möchtest Du wissen?