可能性の重複:
Python list problem初期化行列
私はPythonで行列を初期化してみてください。 は、まず、私はこのでした:私は最初のものを変更したときに
>>> M=[[0]*4]*4
しかし、ここでは私のproblemeで、すべての行が変更されています
>>> M
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
>>> M[1][1]=1
>>> M
[[0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0]]
をだから私はこのようにそれをやった:
>>> M= [ [ 0 for i in range(4) ] for j in range(4) ]
うまく動作します:
>>> M
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
>>> M[1][1]=1
>>> M
[[0, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
私の質問は:
これら2つの表現は本当に何を意味していますか?なぜ最初の人がこのように行動しているのでしょうか?
ご協力いただきありがとうございます。