昨日、2 次元配列の初期化について質問しました。リンクは次のとおりです: How to implement this C++ source in python?
答えには問題があります。友人は次のように述べています。
G = [[0]*11]*11
しかし、このように を に変更するG[0][0]
と2
、すべて がG[i][0](0<=i<11)
に変更されますが2
、その理由はわかりません。
補足:
これは私が考えたものです: 0
or other 番号はimmutable
であるため、そのうちの 1 つを変更しますが、他の番号は変更されません。しかし、リスト [0, 0 ,0 ,.....] はmutable
であるため、[0, 0, ...] * 11 とすると、すべての [0, 0, ...] リストは同じになります。is
関数が真であるため。私は正しいですか?