python - 更改一个列表中的元素会更改多个列表

标签 python list python-2.7

<分区>

我有一个列表 List say mysolution:

>>>mySolution
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
>>> mySolution[0][0] = 1    
>>> mySolution
[[1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]

预期输出:

[[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

为什么我的列表列表中的所有第一个元素都被更改为 1? 我只想将第一个列表的第一个元素更改为 1。

最佳答案

重要的是您如何创建原始 mysolution 列表。看起来,它包含四次相同的列表,这就是为什么更改它一次会使它在所有四个位置都发生变化。

要像这样初始化独立的零填充列表,您可以执行以下操作:

mysolution = [[0] * 4 for i in range(4)]

关于python - 更改一个列表中的元素会更改多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18946728/

相关文章:

python - 如何使用元组列表中的元组中的值作为函数的参数?

python - 使用 gunicorn 部署 Django No module named ImportError : No module named validation

python - 导入错误 : Pillow 3. 3.1 和 Python 2.7 和 El Capitan 操作系统

python - 创建 super 用户django时出错

python - 除 Python 列表中指定的列之外的所有列的总和

R如何在列表中找到向量子集的交集

python - 解析、拼接和构造嵌套字符串以在 Python 中列出

python - 仅抓取特定标签,而不包含该特定标签中嵌套标签的详细信息

python - ChatGPT API - 创建大于 gpt-3.5-turbo token 限制的更长 JSON 响应

javascript - 列表项中的jquery id?