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

为什么这两个都是一样的结果呢?

为什么这两个都是一样的结果呢?

翻翻过去那场雪 2023-04-18 15:11:35
这两个都是一样的结果呢z = {'a': 1, 'b': 2, 'c':3}'a' in z z.has_key('a')
查看完整描述

2 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

#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);
}


查看完整回答
反对 回复 2023-04-21
?
青春有我

TA贡献1784条经验 获得超8个赞

从运算角度来说,使用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更加好的原因


查看完整回答
反对 回复 2023-04-21
  • 2 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

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