猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
为什么这两个都是一样的结果呢?
这两个都是一样的结果呢
z = {'a': 1, 'b': 2, 'c':3}'a' in z z.has_key('a')
翻翻过去那场雪
浏览 98
回答 2
2回答
幕布斯7119047
#src/Python-2.6.8/Objects/dictobject.cstatic PyObject *dict_has_key(register PyDictObject *mp, PyObject *key){ if (PyErr_WarnPy3k("dict.has_key() not supported in 3.x; " "use the in operator", 1) < 0) return NULL; return dict_contains(mp, key); }
0
0
0
青春有我
从运算角度来说,使用in更快> 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这也是为什么使用in更加好的原因
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Python
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续