Возможный дубликат:
путаница со списком Python
Когда я пишу простой скрипт на Python, я определяю новый список следующим образом:
A=[[],]*10
Что я хочу сделать, так это просто инициализировать список, длина которого равна 10, и каждый элемент является пустым списком.
И когда я делаю что-то вроде:
A[0].append(["abc",])
Я просто хочу добавить это ["abc",]
к A[0]
, и оказывается, что каждый элемент в A добавляется с ["abc",]
Я знаю это, вероятно, из-за моей инициализации (A=[[],]*10
). Я просто хочу знать, почему это произошло.
[x,]
лучше писать как[x]
. В любом случае обратите внимание, чтоlist*int
не клонирует объекты. - person   schedule 23.09.2012