Fox*_*xyZ 2 python dictionary key-value
假设我有一本这样的字典:
d = {'ben' : 10, 'kim' : 20, 'bob' : 9}
Run Code Online (Sandbox Code Playgroud)
有没有办法('bob',9)从字典中删除一对像?我已经知道了,d.pop('bob')但是即使值不是9.
现在我能想到的唯一方法是这样的:
if (d.get('bob', None) == 9):
d.pop('bob')
Run Code Online (Sandbox Code Playgroud)
但有更简单的方法吗?可能根本不使用
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
Run Code Online (Sandbox Code Playgroud)