使用 in 操作符
in
可以检查 d
中是否存在键a:
d = {"key1": 10, "key2": 23}
if "key1" in d:
print("this will execute")
if "nonexistent key" in d:
print("this will not")
Code language: PHP (php)
注意直接使用key in d
而不是key in d.keys()
:
这样性能好得多,因为它使用dictionary的 O(1) 散列而不是对键列表进行 O(n) 线性搜索
使用dict.get()方法
dict.get()
用于在key不存在时提供默认值:
d = {}
for i in range(10):
d[i] = d.get(i, 0) + 1
注意要为每个键提供默认值,可以使用dict.setdefault()
:
d = {}
for i in range(10):
d[i] = d.setdefault(i, 0) + 1
或defaultdict从collections模块中使用:
from collections import defaultdict
d = defaultdict(int)
for i in range(10):
d[i] += 1
Code language: JavaScript (javascript)
1000 万次循环的 性能测试
'key' in dict
耗时 1.07 秒dict.get('key')
耗时 1.84 秒