为了账号安全,请及时绑定邮箱和手机立即绑定

我应该在Python dicts上使用'has_key()'或'in'吗?

我应该在Python dicts上使用'has_key()'或'in'吗?

哆啦的时光机 2019-07-29 11:22:43
我应该在Python dicts上使用'has_key()'或'in'吗?我想知道做什么更好:d = {'a': 1, 'b': 2}'a' in dTrue要么:d = {'a': 1, 'b': 2}d.has_key('a')True
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

in 赢得胜利,不仅仅是优雅(而不是被弃用;-)而且还有表现,例如:

$ python -mtimeit -s'd=dict.fromkeys(range(99))' '12 in d'10000000 loops, best of 3: 0.0983 usec per loop
$ python -mtimeit -s'd=dict.fromkeys(range(99))' 'd.has_key(12)'1000000 loops, best of 3: 0.21 usec per loop

虽然以下观察并非总是如此,但您会注意到,通常,在Python中,更快的解决方案是更优雅和Pythonic; 这就是为什么-mtimeitSO有用 - 它不只是在这里和那里节省一百纳秒! - )


查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 352 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信