首页 > 编程语言 > 详细

09_Python深拷贝、浅拷贝

时间:2018-01-29 19:07:27      阅读:190      评论:0      收藏:0      [点我收藏+]

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

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深拷贝、浅拷贝

原文:https://www.cnblogs.com/weihengblog/p/8378811.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!