私はPythonを学んでいて、dequeを作ろうとしています。ただし、間違った出力が得られ、その理由がわかりません。私のコードは次のとおりです。
p = [2, 1], [1, 1]
init_q= deque()
init_q.append(p)
for i in range(len(p)):
for j in range(len(p[i])):
temp = p[i][j]
p[i][j] = 0
init_q.append(p)
p[i][j] = temp
while init_q:
print init_q.pop()
リストを取得するこのコードでは、5 つのリストを持つキューを作成します。そのうちの 4 つのリストには異なる場所で 0 が含まれています。必要な結果は次のとおりです。
([2, 1], [1, 1])
([0, 1], [1, 1])
([2, 0], [1, 1])
([2, 1], [0, 1])
([2, 1], [1, 0])
しかし、私が得る結果は次のとおりです。
([2, 1], [1, 1])
([2, 1], [1, 1])
([2, 1], [1, 1])
([2, 1], [1, 1])
([2, 1], [1, 1])