(python)map,list,set删除元素

map遇到的坑,map没有has_next函数,删除元素没有返回迭代器的函数

map删除多个元素的方法,是将map拷贝再删除

注意,copy拷贝函数,列表 [:]拷贝都不是深拷贝,但是对于拷贝元素完全是基本数据类型,可近似看为深拷贝,若非基本数据类型,例如元素是嵌套列表,那么原列表改变,拷贝列表仍然会跟着改变。

完全深拷贝要导入 import copy 并调用copy.deepcopy

map1 = {"xiaoming":34,"xiaodong":66,"zhupa":77,"niuren":66}

#map删除多个元素方法
#方法1
d = map1.copy()
for i in d.keys():
    if i == "xiaodong" or i == "zhupa":
        del map1[i]
print(map1)

#list删除多个元素方法
#方法1
a = [1,2,3,4,[5,6]]
for k in a[:]:
    if k == 2 or k==3:
        a.remove(k)
print(a)

#方法2
a = [1,2,3,4,[5,6]]
for k in a.copy():
    if k == 2 or k==3:
        a.remove(k)
print(a)

#set删除多个元素
#方法1
a = set([1,2,3,4,5])
for k in a.copy():
    if k == 2 or k == 4:
        a.remove(k)
print(a)

b = 3 in a
print(b)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值