Skip to main content
 首页 » 编程设计

python之将修改后的列表 append 到列表中

2025年05月04日29sxdcgaq8080

我有一个列表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 append 到已经包含 a 的列表 l 中的操作甚至会修改之前的项目l append 为 a?

请您参考如下方法:

这是因为 Python 中的列表是可变对象。这意味着当您将一个列表分配给一个变量时,您将传递一个对该列表的“引用”(如 c 指针)。