基本上,我想在一个列表中存储具有两个属性(name,score)的对象。从那里我想找到列表中得分最高的对象,并能够访问该对象的名称。所以,如果50分被确定为榜单中的最高分,我就看不出这个分数属于“工资”
这是我的开始代码,在这里我创建了具有set属性的对象(用于测试)
将对象存储在列表中工作得很好,例如,我可以访问for循环中的各个属性(对于I in a_list:print(I.score))。但当涉及到访问最大分数和获得与该对象相关联的名称时,我不知所措
class Scoreboard:
def __init__(self, name, score):
self.name = name
self.score = int(score)
t1 = Scoreboard("wages", 50)
t2 = Scoreboard("todo", 15)
t3 = Scoreboard("invoice", 36)
a_list = []
a_list.append(t1)
a_list.append(t2)
a_list.append(t3)
我尝试使用max(),但如果不在列表中只存储score值(例如t1.score),则返回一个错误。如果这样做,我就找不到访问该对象的name属性的方法
试试这个:
在查找最大值时,应该使用列表中每个对象的score属性作为键
Python无法知道Scoreboard是什么,它应该使用
.score
属性来计算max或mins。在评论中,词典似乎更合适。如果你想继续学习类,你需要让python给你实例的name
,score
等于max(scores)
。比如:相关问题 更多 >
编程相关推荐