获取对象列表中具有最大属性值的对象列表

问题描述:

previous questions略有不同。我在这里找到: front_Ar是具有score属性的对象的列表。获取对象列表中具有最大属性值的对象列表

我想获得最高分的所有对象的列表。 我曾尝试:

maxind = [] 
maxInd.append(max(front_Ar, key=attrgetter('score'))) 

其中仅存储一个对象(推测它找到的第一个)。 任何想法如何做到这一点?

找到最高分,然后再筛选基于该评分列表:

max_score = max(front_Ar, key=attrgetter('score')).score 
max_ind = [obj for obj in front_Ar if obj.score == max_score] 

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))