Python中把一个list赋给新的list,改变其中一个list,两个list都会改变
原因
list是通过指针指向存储的值的,将list赋给新的newlist后,两者指向同一个地址,当改变其中一个list值时,两个list的值都会改变。如下面的例子:
在未执行list.sort()时,list和newlist都是[5,4,6,2,1],但对list进行排序时,不仅list改变了,newlist也改变了,list和newlist都变成了[1,2,4,5,6]。
解决方法
最简单也是最笨的方法是:对list的元素进行操作,将list的元素进行遍历,一个一个添加到newlist中
欢迎评论区的高手提出更有效的方法。