
[英]Pandas: How to search and remove a key value pair in a python dictionary for matching pattern
[英]How to remove a key/value pair in python dictionary?
说我有一本这样的字典:
d = {'ben' : 10, 'kim' : 20, 'bob' : 9}
有没有办法从字典中删除像('bob',9)
的对? 我已经知道d.pop('bob')
但是即使值不是9
,也会删除该对。
现在,我唯一能想到的就是这样的事情:
if (d.get('bob', None) == 9):
d.pop('bob')
但是有没有更简单的方法? 可能根本不使用
pop
也会返回该值,因此从性能角度(可能忽略不计)和从可读性角度考虑,最好使用del
。
除此之外,我不认为您可以做得更轻松/更好。
from timeit import Timer
def _del():
d = {'a': 1}
del d['a']
def _pop():
d = {'a': 1}
d.pop('a')
print(min(Timer(_del).repeat(5000, 5000)))
# 0.0005624240000000613
print(min(Timer(_pop).repeat(5000, 5000)))
# 0.0007729860000003086
您要在此处执行两项操作
1)您要测试条件d ['bob'] == 9。 2)如果第一个答案为真,则要删除键和值。
因此,我们不能省略测试部分,而这完全需要使用if。 但是我们当然可以一站式完成。
d.pop('bob')如果d.get('bob')== 9否则无
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.