![](/img/trans.png)
[英]Python 2.7 How can I access objects created by one class from a list stored within a different class
[英]How to get the key and values of a list of objects where I created from a class. Python
class BallPlayer:
def __init__(self,name:str,number:int,goals:int,assists:int,minutes:int):
self.minutes = minutes
self.assists = assists
self.goals = goals
self.number = number
self.name = name
def most_goals(a:list):
newList=sorted(a, key=lambda item:item.goals,reverse=True)
return newList
if __name__ == "__main__":
player1 = BallPlayer("Archie Bonkers", 13, 5, 12, 46)
player2 = BallPlayer("Speedy Tickets", 7, 2, 26, 55)
player3 = BallPlayer("Cruella De Hill", 9, 1, 32, 26)
player4 = BallPlayer("Devilled Tasmanian", 12, 1, 11, 41)
player5 = BallPlayer("Donald Quack", 4, 3, 9, 12)
team = [player1, player2, player3, player4, player5]
print(most_goals(team))
我創建一個 class 並從該 class 創建對象並將它們放入列表中。 一個 function 占據了列表並且應該返回我得分最多的球員的名字。 我無法通過使用 newList[0].name 獲得任何價值,newList 給了我一個我不理解的代碼列表
[< main .BallPlayer object at 0x000001D6FA4833C8>, < main .BallPlayer object at 0x000001D6FA487288>, < main .BallPlayer object at 0x000001D6FA4871C8>, < main .BallPlayer object at 0x000001D6FA487208>, < main .BallPlayer object at 0x000001D6FA487248>]
我應該怎么做才能像普通列表一樣從此對象列表中獲取值?
假設你想獲得進球最多的球員的名字:
def most_goals(a:list):
newList=sorted(a, key=(lambda item:item.goals))
return newList[0].name
這將按goals
屬性對對象列表進行排序,並為每個項目使用 lambda function 訪問它。 它不再返回整個對象列表,而是返回第一個對象的name
屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.