python - 在 python 中检查字典中的键的正确方法

标签 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/

相关文章:

Python __repr__ 用于数字?

python - 如何用keras近似行列式

Python:我可以安全地解开不受信任的数据吗?

linux - 为什么在删除关联的 *.py 文件时删除 *.pyc 文件

python - django 调试工具栏破坏了管理员?

python - 按格式化为字符串的键对 python 字典进行排序

.net - 有没有允许使用重复项的Dictionary/SortedList的替代方法?

dictionary - Terraform 多层 map

arrays - R - 等高线图

python - 根据条件将类名打印到字典 - BS4