09_Python深拷贝浅拷贝

Posted 短毛兔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09_Python深拷贝浅拷贝相关的知识,希望对你有一定的参考价值。

一、循环列表,删除其中的元素

l1 = [1,2,3,4,5,6,7]  循环删除奇数位元素

1.正序循环删除,会出现越界情况,所以采用倒叙的方式删除

1 l1 = [1,2,3,4,5,6,7]
2 for i in range(len(l1) - 1,-1,-1):
3     if i % 2 == 1:
4         l1.pop(l1[i])
5 
6 print(l1)

二、循环字典,删除其中的元素

如果循环删除的话,编译器会报  RuntimeError: dictionary changed size during iteration

1 #错误代码
2 #dic = {‘k1‘:‘zhangsan‘,‘k2‘:‘lisi‘,‘k3‘:‘wangwu‘,‘name‘:‘xiaoming‘}  删除带k的key
3 dic = {k1:zhangsan,k2:lisi,k3:wangwu,name:xiaoming}
4 
5 for i in dic:
6     if k in i:
7         del dic[i]
8 
9 print(dic)

真确的方式,是把key放到一个列表中,然后根据列表元素进行删除

 1 #正确的代码
 2 dic = {k1:zhangsan,k2:lisi,k3:wangwu,name:xiaoming}
 3 l1 = []
 4 for i in dic:
 5     if k in i:
 6         l1.append(i)
 7 
 8 for i in l1:
 9     del dic[i]
10 
11 print(dic)

三、深拷贝、浅拷贝

以上是关于09_Python深拷贝浅拷贝的主要内容,如果未能解决你的问题,请参考以下文章

python_深拷贝与浅拷贝

Python_浅拷贝与深拷贝

清晰python的深拷贝和浅拷贝

清晰python的深拷贝和浅拷贝

Python中浅拷贝和深拷贝的区别

21天学习python编程_深拷贝浅拷贝