这是对列表进行循环操作时常碰到的问题,将原列表赋值给一个新列表,但是对新列表进行元素移除时,原列表也会变。
这涉及到的是列表的深复制和浅复制的问题,在上述方法中,实际上两个列表都指向同一个地址。
解决方法:采用python封装好的copy库进行深复制:
import copy
lists1=[1,2,3,4]
listss=copy.deepcopy(lists1)
listss.pop(0)
lists1
这是对列表进行循环操作时常碰到的问题,将原列表赋值给一个新列表,但是对新列表进行元素移除时,原列表也会变。
这涉及到的是列表的深复制和浅复制的问题,在上述方法中,实际上两个列表都指向同一个地址。
解决方法:采用python封装好的copy库进行深复制:
import copy
lists1=[1,2,3,4]
listss=copy.deepcopy(lists1)
listss.pop(0)
lists1