与previous questions略有不同。我在这里找到:
front_Ar
是具有score
属性的对象列表。
我正在尝试获取得分最高的所有对象的列表。 我试过了:
maxind = []
maxInd.append(max(front_Ar, key=attrgetter('score')))
只存储了一个对象(可能是它找到的第一个对象)。 知道如何做到这一点?
答案 0 :(得分:3)
首先找到最高分,然后根据该分数过滤列表:
max_score = max(front_Ar, key=attrgetter('score')).score
max_ind = [obj for obj in front_Ar if obj.score == max_score]
答案 1 :(得分:0)
max()
功能可用于查找得分最高的值。
要获得分数与该值相匹配的对象,您可以像@ juanpa.arrivillaga的答案那样执行列表理解,或者使用列表中的filter()
之类的内容仅返回与您匹配的项目标准。
top_score = max(front_Ar, key=attrgetter('score')).score
max_ind = list(filter(lambda x: x.score == top_score, front_Ar))