[英]python: 'dict' object has no attribute 'has_key'
我有这段代码:
def separate_sets(self):
self.groups = {}
self.group_names = list(set(self.y))
if len(self.group_names) > 2:
print ('more than two classes provided...exiting')
sys.exit()
#putting all the samples in a regular order so that their
#grouping can be easier.
combined = sorted(zip(self.x, self.y), key = lambda n: n[1])
#--doing val,key here because (x,y) was zipped
for val,key in combined:
if self.groups.has_key(key):
self.groups[key].append(val)
else:
self.groups[key] = []
self.groups[key].append(val)
#train on each group
self.train()
而且我收到以下错误消息:
如果self.groups.has_key(key):
AttributeError:'dict'对象没有属性'has_key'
在Python 3.x中, has_key()
已删除,请参阅文档 。 因此,您必须使用in
,这是pythonic的方式:
if key in self.groups:
在python中,您可以使用“ in”来检查
if key in self.groups:
您可以使用setdefault
方法消除整个if
语句
self.groups.setdefault(key, []).append(val)
从python 3.x版本开始,has_key已被删除 ,现在您必须使用in运算符
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.