我想在更新键的值之前测试一个键是否存在于字典中。我写了以下代码:
if 'key1' in dict.keys():
print "blah"
else:
print "boo"
我认为这不是完成这项任务的最佳方式。有没有更好的方法来测试字典中的键?
原文由 Mohan Gulati 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想在更新键的值之前测试一个键是否存在于字典中。我写了以下代码:
if 'key1' in dict.keys():
print "blah"
else:
print "boo"
我认为这不是完成这项任务的最佳方式。有没有更好的方法来测试字典中的键?
原文由 Mohan Gulati 发布,翻译遵循 CC BY-SA 4.0 许可协议
直接使用 key in my_dict
而不是 key in my_dict.keys()
:
if 'key1' in my_dict:
print("blah")
else:
print("boo")
这会 快得多,因为它使用字典的 O(1) 散列而不是对键列表进行 O(n) 线性搜索。
原文由 Jason Baker 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.9k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
2 回答463 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
in
测试dict
中是否存在密钥:当键不存在时,使用
dict.get()
提供默认值:要为 每个 键提供默认值,请在每个分配上使用
dict.setdefault()
:或使用
defaultdict
来自collections
模块: