python 字典操作中has_key() 和 in 那个使用更加pythonic?
python 字典操作中has_key() 和 in 比较。
在写代码时,使用has_key()和in都可以达到我们想要的效果,那么使用has_key()和in那个更加pythonic?
d = {'a': 1, 'b': 2} 'a' in d True
或者
d = {'a': 1, 'b': 2} d.has_key('a') True
从运算速度来比较:
python2比较:
> python2 -mtimeit -s'd=dict.fromkeys(range(99))' '12 in d' 10000000 loops, best of 3: 0.0374 usec per loop > python2 -mtimeit -s'd=dict.fromkeys(range(99))' 'd.has_key(12)' 10000000 loops, best of 3: 0.0719 usec per loop
python3 去除了has_key()方法,参考:
has_key() was removed in Python 3.x.
从python版本支持:
Python 2.x 支持 has_key().
Python 2.3+ 和ython 3.x 支持 in.
总结:
使用in是更加pythonic