Python 如何从类对象列表中检索类属性
我已将nba数据集导入名为nba的变量中 这些是我的课程:Python 如何从类对象列表中检索类属性,python,class,Python,Class,我已将nba数据集导入名为nba的变量中 这些是我的课程: class Player(): def __init__(self, data_row): self.player_name = data_row[0] class team(): def __init__(self,team_name): self.team_name = team_name self.roaster = [] for x
class Player():
def __init__(self, data_row):
self.player_name = data_row[0]
class team():
def __init__(self,team_name):
self.team_name = team_name
self.roaster = []
for x in nba:
if x[3]==self.team_name:
self.roaster.append(Player(x))
我想要的是将团队中的每个玩家存储到一个团队对象
spurs = team("TOT")
但是当我运行代码时,我会得到一个类对象列表,如下所示:
print(spurs.roaster)
[<__main__.Player at 0x2211b2d06a0>,
<__main__.Player at 0x2211b2d06d8>,
<__main__.Player at 0x2211b2d0630>,
<__main__.Player at 0x2211b2d0588>,]
但它出现了一个错误:
AttributeError: 'list' object has no attribute 'player_name'
class Player():
def __init__(self, data_row):
self.player_name = data_row[0]
def __str__(self):
return self.player_name
for roaster in spurs.roaster:
print(roaster.player_name)
你得到的错误是一种自我解释,
spurs.roaster
确实是一个列表。player\u name
属性属于此列表中的项目。
要访问这些属性,您必须浏览您的列表
for player in spurs.roaster:
print(player.player_name)
必须尝试将其转换为列表。我的意思是只需使用列表(热刺。罗亚斯特)并检查您的答案。
roaster
是一个包含许多球员的列表。你希望烘焙者.玩家名返回什么?它应该如何知道您感兴趣的播放器?您知道如何访问列表中的元素吗?如果是,则问题已解决33%。你知道如何迭代列表吗?是的。66%完成了。你知道如何建立新的列表吗?如果是,你就完成了。这里我假设您需要一个属性列表,它已经是一个列表了。我不想在列表中重复。我想通过一组代码获得列表中的球员名称。spurs.roaster[0]。player_name这一个给了我第一个球员名称。我想让所有球员都知道球队的名字。因此,没有更简单的方法来获得一个队的球员的名字。tnx pal。那么,我将使用循环。
for player in spurs.roaster:
print(player.player_name)