我正在学习 Python,并且一直在尝试制作双端队列。但是,我得到不正确的输出,我不知道为什么。我的代码如下:
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])