【发布时间】:2012-07-09 01:25:43
【问题描述】:
可能重复:
'has_key()' or 'in'?
在 Python 中,有两种方法可以确定 key 是否在 dict 中:
if dict.has_key(key) 和 if key in dict
有人告诉我,第二个比第一个慢,因为 in 关键字使表达式在 dict 上进行迭代,所以它会比 has_key 替代品慢,后者显然使用哈希来制作决定。
由于我非常怀疑两者之间的区别,因为我认为 Python 足够聪明,可以将 dict 之前的 in 关键字转换为某种哈希方式,因此我找不到任何关于此的正式声明。
那么两者之间真的有效率差异吗?
谢谢。
【问题讨论】:
标签: python performance dictionary