Ich verwende Python 3.4.2Python Liste kehrt Zeiger
def change(list_3,n):
list_3[n] = 'x'
return list_3
def simulate(list_2):
list_4 = []
for i in range(len(list_2)):
list_4.append(change(list_2,i))
return list_4
list_1 = [' ',' ']
simulate(list_1)
, wenn ich diesen Code ausführen würde ich erwarten, dass es zurück an: [['x',' '],[' ','x']]
sondern es gibt [['x','x'],['x','x']]
und es ändert mich list_1 zu ['x','x']
. Es scheint, dass dies daran liegt, dass die Funktionsänderung einen Zeiger erhält, der sie zum Bearbeiten von list_1 macht. Und es gibt auch einen Zeiger zurück, der bewirkt, dass list_4 sich selbst aktualisiert, wenn list_1 geändert wird.
Weiß jemand, wie ich Python bekommen kann, um zu übertragen, was wirklich in der Liste ist, anstatt einen Zeiger zu geben?
erste Fehler in Simulieren Funktion 'für i, Artikel in enumerate (Liste) und list_4.append (ändern (Liste, i)) : 'Ändere' Liste 'zu' Liste_2' – Kallz