Sto imparando Python e ho cercato di creare un deque. Tuttavia, ottengo risultati errati e non sono sicuro del perché. Il mio codice è il seguente:scope in 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()
In questo codice prendo in un elenco, poi ho voglia di creare una coda con 5 lista, di cui 4 hanno un 0 in loro in luoghi diversi, il risultato che voglio è :
([2, 1], [1, 1])
([0, 1], [1, 1])
([2, 0], [1, 1])
([2, 1], [0, 1])
([2, 1], [1, 0])
Tuttavia, il risultato che ottengo è:
([2, 1], [1, 1])
([2, 1], [1, 1])
([2, 1], [1, 1])
([2, 1], [1, 1])
([2, 1], [1, 1])
Sei sicuro che l'output previsto non è arretrato? – abarnert