繁体   English   中英

为什么我更改复制的列表时原始列表会更改(PYTHON)

[英]Why does the original list change when I change the copied list (PYTHON)

所以我有这个简单的代码:

list = [[1,2],[4,5]]
list1 = list.copy() 
for i in range(len(list)):
    for j in range(len(list[i])):
        print(i,j, ":", list[i][j], "and", j,i, ":", list1[j][i])
        nr = input('Line {0}, Column{1}: ' .format(i+1, j+1) )
        list[i][j] = nr
        list1[j][i] = nr
        print(list,list1)
print(list1, list)

如果我希望变量列表的最终结果是以下矩阵: [[1,2],[3,4]] ,那么变量list1应该是转置矩阵: [[1,3],[2,4]] 结果是这样的: [['1', '3'], ['3', '4']] [['1', '3'], ['3', '4']] 请有人帮助我。 谢谢,周末愉快

你应该使用copy.deepcopy

如果您的列表是整数或浮点数列表,则copy就足够了,但是由于您有列表列表,因此您需要递归地复制列表中的元素。

你可以在这里找到更详细的答案: 浅拷贝、深拷贝和普通赋值操作有什么区别?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM