我需要找到一种方法来解决字典理解中的以下错误
from collections import Counter
from operator import attrgetter
consider points a list of object
p = returns[0]
p.class
2
Counter(map(attrgetter("class"), points))
Counter({1: 1314, 2: 1050})
p.get_point_source_id()
13612
当我使用相同的方法时,我得到这个错误消息
Counter(map(attrgetter("get_point_source_id()"), points))
Traceback (most recent call last):
File "<editor selection>", line 1, in <module>
AttributeError: 'Point' object has no attribute 'get_point_source_id()'
当我使用此表单时:
Counter(map(attrgetter("get_point_source_id"), returns))
我有一本字典,每一点都是独一无二的。为了得到字典,我需要写一个慢循环
dict_point_source_id = dict()
for p in returns:
dict_point_source_id[p.get_point_source_id()] = dict_point_source_id.get(p.get_point_source_id(), 0) + 1
print dict_point_source_id
{13612: 2364}
或者,使用这样的生成器表达式
get_point_source_id
是类的方法,因此请改用^{EIDT公司:
我怎么知道我知道什么?
安装ipython,在ipython qtconsole中,使用
*
和?
magics搜索与给定模式匹配的所有属性:相关问题 更多 >
编程相关推荐