假设我有这样一本字典:
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
关于python - 如何删除 python 字典中的键/值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53583385/