将修改后的列表附加到列表中

时间:2017-05-24 09:14:14

标签: python python-2.7 list append

我有一个列表a,我将其附加到列表l中,然后我修改列表a,然后将其重新附加到l

我的代码是:

a = []
l = []
a.append(1)
l.append(a)

a.append(2)
l.append(a)

但是,l现在= [[1,2],[1,2]],而我希望l[[1], [1,2]]

我通过修改我的代码解决了以下问题:

a = []
l = []
a.append(1)
l.append(list(a))

a.append(2)
l.append(list(a))

我的问题是:为什么将修改后的列表a附加到已包含l的列表a中的操作会修改l之前添加为{{{}}的项目1}}?

1 个答案:

答案 0 :(得分:5)

这是因为python中的列表是可变对象。这意味着当您为变量分配列表时,您正在传递"引用"到该列表(如c指针)。