[英]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.