<分区>
所以一直在想。让 d 成为一个字典......检查键是否在字典中的正确(更多 pythonic)方法是什么:
k in d
or
k in d.keys()
还是别的什么??
标签 python dictionary
<分区>
所以一直在想。让 d 成为一个字典......检查键是否在字典中的正确(更多 pythonic)方法是什么:
k in d
or
k in d.keys()
还是别的什么??
最佳答案
始终使用
k in d
这是一个 O(1) 常数时间操作。
替代方案,k in d.keys()
,在 Python 2 中是一个 O(N) 线性时间操作,在 Python 3 中至多是一个不必要的方法调用。不要使用它.
d.keys()
是 3 个额外的步骤,一个属性查找,一个函数调用,以及一个新对象的创建。在 Python 2 中,它是所有键的列表对象(需要首先列出这些键),在 Python 3 中,它是字典 View 。当只是测试 key 的存在时,两者都是完全多余的。在 Python 2 中,针对列表对象的包含测试需要扫描所有元素,直到找到匹配项。
关于python - 在 python 中检查字典中的键的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25673471/