如何从对象列表中找到最小值?

How to find the minimum from a list of objects?

我想写一个方法来找到得分最低的人并打印他的其他详细信息。

如果我写一个方法来找到最小值,我就无法打印他的其他详细信息。 有问题的是,有人告诉我们要在另一个名为 Team.

的 class 中编写“getMinRuns”

python3

class Player:
    def __init__(self,playerName,playerCountry,playerScore):
        self.playerName=playerName
        self.playerCountry=playerCountry
        self.playerAge=playerScore

class Team:
    def getMinRuns(p):
        pass

n=int(input())
p=[]

for i in range(n):
    name=input()
    country=input()
    score=int(input())
    p.append(Player(name,country,score))
Team.getMinRuns(p)

当您将对象列表传递给函数 getMinRuns 时,您可以遍历列表并读取每个对象的分数,这将帮助您稍后找到得分最低的对象,您可以在最后打印或写入该对象的详细信息功能。

def getMinRuns(p):
    min_score_index = 0
    for i in range(1, len(p)):
        if p[i].playerAge < p[min_score_index].playerAge:
            min_score_index = i

    print(p[min_score_index].playerName, p[min_score_index].playerCountry, 
    p[min_score_index].playerAge)

希望这可以解决您的问题,如果您有任何问题,请随时提出。