Uczę się Pythona i próbuję stworzyć deque. Jednak otrzymuję niepoprawne wyniki i nie jestem pewien dlaczego. Mój kod wygląda następująco:Python deque scope?
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()
W tym kodzie biorę na liście, to wtedy chcesz utworzyć kolejkę z 5 listy, z których 4 mają 0 w nich w różnych miejscach, w wyniku czego chcę to :
([2, 1], [1, 1])
([0, 1], [1, 1])
([2, 0], [1, 1])
([2, 1], [0, 1])
([2, 1], [1, 0])
jednak wynik pojawia się:
([2, 1], [1, 1])
([2, 1], [1, 1])
([2, 1], [1, 1])
([2, 1], [1, 1])
([2, 1], [1, 1])
Czy jesteś pewien, że oczekiwane dane wyjściowe nie są wyświetlane wstecz? – abarnert