玩蛇网提供最新Python编程技术信息以及Python资源下载!

字典内in现has_key()使用哪个最适合

这两个都是一样的结果呢

z = {'a': 1, 'b': 2, 'c':3}
'a' in z
z.has_key('a')

楼上说得都够详细了,我就贴段代码吧:

#src/Python-2.6.8/Objects/dictobject.c

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

一样,in更有python的感觉,has_key已经在python3中去掉了:http://docs.python.org/3.1/whatsnew/3...

官方文档推荐用 key in dict 的语法,因为它更短更通俗易懂。has_key是老旧遗留的api,为了支持2.2之前的代码留下的。Python3已经删除了该函数。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20370.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 17时33分04秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules