以下に示すコードでPythonのネストされたリストを使用することで、いくつかの問題が発生しました。
基本的に、2Dリストにはすべて0の値が含まれているので、ループでリスト値を更新したいと思います。
ただし、Pythonは私が望む結果を生成しません。私が誤解していることrange()
やPythonリストのインデックスはありますか?
some_list = 4 * [(4 * [0])]
for i in range(3):
for j in range(3):
some_list[i+1][j+1] = 1
for i in range(4):
print(some_list[i])
私が期待した結果は次のとおりです。
[0, 0, 0, 0]
[0, 1, 1, 1]
[0, 1, 1, 1]
[0, 1, 1, 1]
しかし、Pythonの実際の結果は次のとおりです。
[0, 1, 1, 1]
[0, 1, 1, 1]
[0, 1, 1, 1]
[0, 1, 1, 1]
何が起きてる?