【发布时间】:2013-05-13 21:37:19
【问题描述】:
当我以“通用”方式定义列表时:
>>>a=[[]]*3
>>>a
[[],[],[]]
然后尝试仅追加到外部列表的第二个元素:
>>>a[1].append([0,1])
>>>a
[[[0,1]], [[0,1]], [[0,1]]]
如上所示,它附加到外部列表的所有元素,可能是因为这些元素是对同一个列表而不是不同列表的引用(为什么它会这样工作?)。我如何才能以相同的“通用”方式实际创建一个列表,这样内部列表将是不同的列表而不仅仅是引用。谢谢。
【问题讨论】: