ich eine Frage gestellt über einen 2-dimensionalen Array gestern Initialisierung dieses ist die Verbindung: How to implement this C++ source in python?Die Initialisierung von 2-dimensionalen Array in Python
Es gibt ein Problem in der Antwort erwähnt ein Freund einen Weg:
G = [[0]*11]*11
aber auf diese Weise, wenn ich die G[0][0]
-2
ändern, werden alle G[i][0](0<=i<11)
werden alle Änderungen 2
, aber ich weiß nicht, warum?
Ergänzung:
Das ist, was ich dachte: Die 0
oder andere Zahl ist immutable
, also ändern wir eine von ihnen, die anderen nicht verändert werden. Aber die Liste [0, 0, 0, .....] ist mutable
, wenn also [0, 0, ...] * 11, alle [0, 0, ...] Liste die sein wird Das Gleiche gilt für die Funktion is
True. habe ich recht?
Ich füge eine Ergänzung in der Frage hinzu, stimmt das? –
Ihre Schlussfolgerung ist richtig. –