2016-06-11 2 views

ответ

0

Списки передаются по ссылки в Python. Поэтому, когда вы добавляете sr в kaju, вы просто добавляете другую ссылку в тот же список. Таким образом, ваши заявления печати отражают изменения на sr на каждой итерации, но kaju просто содержит кучу ссылок на один и тот же список.

Если вы хотите элементы kaju, чтобы отразить изменения на каждой итерации, необходимо скопировать значение sr «s на каждой итерации, что может быть сделано с помощью встроенного в list() функции

for p in range(len(sr)): 
    sr[p] -= thre 
    kaju.append(list(sr)) 
    print sr 

print kaju 

выходов:

[11, 13, 4] 
[11, 12, 4] 
[11, 12, 3] 
[[11, 13, 4], [11, 12, 4], [11, 12, 3]] 
0

Потому что вы добавите весь список в sr каждый раз, когда вы вызываете добавить. Вы, вероятно, хотели просто добавить sr[p]

Смежные вопросы