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

原文地址:https://www.cnblogs.com/chenxinming-top/p/9550322.html