for循环的禁忌

1.错误项

1 s=[11,22,33,44,55]
2 for i in range(len(s)):  #只会进行一次,直接存储在内存中,直接调用。
3         print(i)        # i=0                    i=1               i=2           i=3
4         del s[i]       
5         print(s)       #[22,33,44,55]    [22,44,55]      [22,44]     此时就会报错!

2.第一种解法

1 s={"k1":"v1","k2":"v2","a3":"v3"}    #此题要求将键值带k的删除。
2 s1={}    #作为过度。
3 for i in s:
4     if "k" not in i:    #如果键值里面不带k则:
5       s.setdefault(i,s[i])   #将符合条件的键值新建放入s字典中。此时i为变量,所以不需要像新建键值对时使用引号。
6 s=s1   #将符合条件的键值对重新赋值给原字典。此操作会完全覆盖原字典,不留任何痕迹。
7 print(s)

 

转载于:https://www.cnblogs.com/fimw/p/9770051.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值