python中删除字典中所有元素的函数_在python中,按值删除字典项的最佳方法是什么?...

由于在循环内更改字典的大小会导致运行时错误,因此必须创建一个副本以进行迭代。使用items()遍历字典中的键和值对,并将每个值与要查找的值进行比较。如果匹配,请从字典中删除密钥。for key, value in dict(myDict).items():

if value == 42:

del mydict[key]

在下面的评论中添加问题的答案,因为它太大,无法评论。这里是一个快速控制台会话,显示mydict.copy()和dict(myDict)完成相同的任务。>>>import copy

>>>dict1 = {1:"egg", "Answer":42, 8:14, "foo":42}

>>>dict2 = dict(dict1)

>>>dict3 = dict1.copy()

>>>dict4 = dict1

>>>dict1[1] = "egg sandwich"

>>>dict1

{'Answer': 42, 1: 'egg sandwich', 'foo': 42, 8: 14}

>>>dict2

{'Answer': 42, 1: 'egg', 'foo': 42, 8: 14}

>>>dict3

{'Answer': 42, 1: 'egg', 'foo': 42, 8: 14}

>>>dict4

{'Answer': 42, 1: 'egg sandwich', 'foo': 42, 8: 14}

>>>dict2['foo'] = "I pity the"

dict1

>>>{'Answer': 42, 1: 'egg sandwich', 'foo': 42, 8: 14}

>>>dict2

{'Answer': 42, 1: 'egg', 'foo': 'I pity the', 8: 14}

>>>dict3

{'Answer': 42, 1: 'egg', 'foo': 42, 8: 14}

>>>dict4

{'Answer': 42, 1: 'egg sandwich', 'foo': 42, 8: 14}

>>>dict4[8] = "new"

>>>dict1

{'Answer': 42, 1: 'egg sandwich', 'foo': 42, 8: 'new'}

>>>dict2

{'Answer': 42, 1: 'egg', 'foo': 'I pity the', 8: 14}

>>>dict3

{'Answer': 42, 1: 'egg', 'foo': 42, 8: 14}

>>>dict4

{'Answer': 42, 1: 'egg sandwich', 'foo': 42, 8: 'new'}

`

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值