使用字符串作为变量名Python

使用字符串作为变量名Python,python,object,Python,Object,我正试图建立一个棒球统计数据和阵容的数据库。有没有一种方法可以循环遍历团队列表并使用字符串作为变量名 例如: 提取团队名称 team_name = 'BOS' 使用BOS作为对象的变量名并附加到对象列表中 BOS = team_data() teams.append(BOS) 然后,当我索引一些统计数据时,我可以执行以下操作来检索列表: teams.BOS.lineup 我知道在Matlab中,您可以执行以下操作,我想知道Python中是否有类似的功能: teams.(team_name)

我正试图建立一个棒球统计数据和阵容的数据库。有没有一种方法可以循环遍历团队列表并使用字符串作为变量名

例如: 提取团队名称

team_name = 'BOS'
使用BOS作为对象的变量名并附加到对象列表中

BOS = team_data()
teams.append(BOS)
然后,当我索引一些统计数据时,我可以执行以下操作来检索列表:

teams.BOS.lineup
我知道在Matlab中,您可以执行以下操作,我想知道Python中是否有类似的功能:

teams.(team_name).lineup
目前,我让它将数据分配给每个循环的相同变量名,并附加到列表中

teams[0].team_name = 'BOS'
teams[1].team_name = 'NYY'
我唯一的另一个想法是给团队变量名分配一个团队名称的开关盒。

使用字典:

teams = {}

teams['BOS'] = team_data()   
teams['NYY'] = team_data() 

for key in teams:
    print(teams[key].team_name) # removed the quotes around "key"
使用字典:

teams = {}

teams['BOS'] = team_data()   
teams['NYY'] = team_data() 

for key in teams:
    print(teams[key].team_name) # removed the quotes around "key"

对于团队中的团队名称:
?与您的matlab示例等效的是
getattr(团队,团队名称)。lineup
。您还可以
setattr(团队,团队名称,团队数据())
为团队中的团队名称:
?与您的matlab示例等效的是
getattr(团队,团队名称).lineup
。您还可以
setattr(teams,team\u name,team\u data())
是否必须预设团队名称字符串,或者可以在我获取团队名称字符串时进行设置?不必预设。您可以动态创建密钥。团队名称字符串是否必须预设,或者是否可以在我获取团队名称字符串时执行?它们不必预设。您可以动态创建密钥。