Skip to main content
 首页 » 编程设计

python之列表行为异常

2025年05月04日14telwanggs

我正在处理一些问题并遇到了这个问题。

Python代码

row=[] 
col=[] 
init=[-1,-1] 

现在我将此 init 附加到 row 和 col。

row.append(init) 
row.append(init) 
 
col.append(init) 
col.append(init) 

因此 row = [[-1,-1],[-1,-1]] 和 col = [[-1,-1],[-1,- 1]]

现在,当我更改 init[0] = 9 时,我的 row 和 col 变为 row = [[9,-1],[9,-1]] 和 col = [[9,-1],[9,-1]]

请您参考如下方法:

发生这种情况是因为您一遍又一遍地存储对对象 init 的相同引用。因此,当您修改对象时,每个人都会看到它。

您可以尝试附加列表的副本。例如,一种方式可能是:

row.append(list(init)) 

clone a list 的方法不止一种.