Python 如何扫描类的实例以返回具有最高特定属性值的实例名称

Python 如何扫描类的实例以返回具有最高特定属性值的实例名称,python,class,object,Python,Class,Object,我怎样才能让这个程序查看所有玩家类的实例,并将触地次数最多的玩家的名字返回给我?下面是一种可能的方法 首先将要比较的所有类实例添加到集合中 class player: def __init__(self,targets,receptions,touchdowns): self.targets=targets self.receptions=receptions self.touchdowns=touchdowns juliojones=pl

我怎样才能让这个程序查看所有玩家类的实例,并将触地次数最多的玩家的名字返回给我?

下面是一种可能的方法

首先将要比较的所有类实例添加到集合中

class player:
    def __init__(self,targets,receptions,touchdowns):
        self.targets=targets
        self.receptions=receptions
        self.touchdowns=touchdowns
juliojones=player(100,80,8)
djmoore=player(80,60,6)
keenanallen=player(120,90,11)

max函数中的关键参数定义了如何使用触地属性比较案例中的对象

到目前为止您尝试了什么?你被卡在哪里了?堆栈溢出可以帮助您,但如果您已经证明您至少在按照指南发布之前尝试过堆栈溢出,那么您将更有可能获得有用的答案。虽然您所要求的是可能的,但将这些对象中的每一个放入数组将更简单、更可靠,并在数组上迭代。但是,你很难返回[…]触地次数最多的球员的名字,因为你忽略了在你的球员对象模型中包含这些数据。很抱歉,我是编程新手,老实说,我甚至不知道从哪里开始,所以我没有尝试过任何东西,我刚刚从youtube学习了如何使用init。我没有在播放器对象模型中包含这样的数据是什么意思。我把它放在这个类的实例中,这个类中的每个人都有一个叫做触地得分的属性。然后我列出了实例并指定了它们的到达点。我错过了什么?谢谢你的帮助,也谢谢你抽出时间。检查一下,这是否回答了你的问题?它谈论的是一个列表,但max也可以获取多个对象。所以:马克斯·朱利奥霍内斯、德克摩尔、基纳纳艾伦、基=阿塔吉特“触地得分”。但是,它获取的是对象,而不是其名称。Python名称不是这样工作的。应该向类中添加名称参数。
class Player:

    def __init__(self,name, targets,receptions,touchdowns):
        self.name=name
        self.targets=targets
        self.receptions=receptions
        self.touchdowns=touchdowns

# Adding individual players to a list
players=[Player('juliojones',100,80,8), Player('djmoore',80,60,6), Player('keenanallen',120,90,11)]

# finding the player with maximum touchdowns
maxPlayer=max(players, key=lambda player: player.touchdowns)

# printing name only
print(maxPlayer.name)