循环删除与深浅拷贝

循环删除与深浅拷贝

1.循环删除

列表:循环删除列表中的每一个元素

使用remove删除:

使用pop删除:

想使用pop删除的话可以这么写

使用del删除:

del解决方法:

总结:由于删除元素会导致元素的索引改变, 所以容易出现问题. 尽量不要在循环中直接去删 除元素. 可以把要删除的元素添加到另一个列表(集合)中然后再批量删除.

字典:循环删除字典中的元素

1.dict(字典)中的元素在迭代的过程中是不允许进行删除的

解决方法:

2.深浅拷贝

初学者一般都会出现这样一个问题:

原因是python中的变量一般指向的内存地址,执行lst2 = lst1后lst2也指向了列表实际的内存 地址,这样会导致如果通过lst1对列表操作,操作后的结果也会反应到lst2上,因此我们有了下 面的解决方法

浅拷贝

我们也会出现这样的问题:

 

定义:浅拷贝只会拷贝集合,列表的第一层,第二层的内容不拷贝,所以叫浅拷贝,由此我们可以 引出深拷贝

深拷贝

定义:深拷贝顾名思义就是全部拷贝不管几层内容

 

 

原文地址:https://www.cnblogs.com/zy740/p/10970148.html