python - 如何删除 python 字典中的键/值对?

标签 python dictionary key-value

假设我有这样一本字典:

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/

相关文章:

javascript - 拿一把 key :Object pair and append to another object in javascript

python - 如何修补日期时间的 now 方法,同时保留其他方法?

python - 随机数重新排序的总和组合成重复值

arrays - Firebase Firestore : Append/Remove items from document array

javascript - 在 javascript 中查找 map 中的键

python - 通过匹配值python删除键值对

C# KeyValuePair<string, int> List - to <string> 不保留 int 值

python - 启用 scrapy 记录器时如何查看打印语句的输出

python - Pandas groupby 忽略某些行值

python - 将 Paramiko SSH 模块与 csv.reader 一起使用?