循环删除与深浅拷贝
循环删除与深浅拷贝
1.循环删除
列表:循环删除列表中的每一个元素
使用remove删除:
使用pop删除:
想使用pop删除的话可以这么写
使用del删除:
del解决方法:
总结:由于删除元素会导致元素的索引改变, 所以容易出现问题. 尽量不要在循环中直接去删 除元素. 可以把要删除的元素添加到另一个列表(集合)中然后再批量删除.
字典:循环删除字典中的元素
1.dict(字典)中的元素在迭代的过程中是不允许进行删除的
解决方法:
2.深浅拷贝
初学者一般都会出现这样一个问题:
原因是python中的变量一般指向的内存地址,执行lst2 = lst1后lst2也指向了列表实际的内存 地址,这样会导致如果通过lst1对列表操作,操作后的结果也会反应到lst2上,因此我们有了下 面的解决方法
浅拷贝
我们也会出现这样的问题:
定义:浅拷贝只会拷贝集合,列表的第一层,第二层的内容不拷贝,所以叫浅拷贝,由此我们可以 引出深拷贝
深拷贝
定义:深拷贝顾名思义就是全部拷贝不管几层内容