has_key()方法
描述
Python 字典(Dictionary) has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false。
语法
has_key()方法语法:
dict.has_key(key)
参数
key – 要在字典中查找的键。
返回值
如果键在字典里返回true,否则返回false。
实例
以下实例展示了 has_key()函数的使用方法:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7}
print "Value : %s" % dict.has_key('Age')
print "Value : %s" % dict.has_key('Sex')
以上实例输出结果为:
Value : True
Value : False
解决:AttributeError: ‘dict’ object has no attribute ‘has_key’
在使用之前的代码时,报错:
Traceback (most recent call last):
File "xxx", line xx, in <module>
print(dict.has_key("name"))
AttributeError: 'dict' object has no attribute 'has_key
经过查阅资料,发现这个错误产生的原因是python3.0之后该方法已经没有了,如果继续使用这个方法,就会报这样的错误。
解决方法
**方法1:**使用 __contains__()
方法
从Python3.x开始,has_key()
函数被 contains(key)
函数替代。
正确的代码是:
print(dict1.__contains__('name'))
方法二:使用 in 关键字
# 生成一个字典
dict = {'name': '','age': '','sex': ''}
# 判断key是否存在于dict中
print('name' in dict) # 结果返回True
print('id' in dict) # 结果返回False
方法三:使用 keys() 方法
# 生成一个字典
dict = {'name': '','age': '','sex': ''}
# 判断是否存在,其中dict.keys()是列出字典所有的key
print('name' in dict.keys()) # 结果返回True
print('id' in dict.keys()) # 结果返回False
Python 3.X 里不包含 has_key() 函数,被 __contains__(key)
替代:
dict3 = {'name':'z','Age':7,'class':'First'};
print("Value : ",dict3.__contains__('name'))
print("Value : ",dict3.__contains__('sex'))
执行结果:
Value : True
Value : False
or
if adict.has_key(key1):
改为
if key1 in adict:
总结:出现问题多敲一下help()
参考:https://blog.csdn.net/nings666/article/details/135012847