2017-07-16 170 views
1

我正在嘗試製作一個棒球統計數據庫和陣容。有沒有辦法循環遍歷團隊列表並使用字符串作爲變量名稱?使用字符串作爲變量名稱Python

例如: 提取隊名

team_name = 'BOS' 

使用BOS作爲對象變量名和追加到對象列表

BOS = team_data() 
teams.append(BOS) 

後來,當我的索引一些統計數據,我可以做以下檢索的陣容:

teams.BOS.lineup 

我知道在Matlab中,你可以d Ø下面,我想知道是否有在Python等價物:

teams.(team_name).lineup 

目前,我有它的數據分配給相同的變量名各環路和追加到列表中。

teams[0].team_name = 'BOS' 
teams[1].team_name = 'NYY' 

我唯一的想法等是有一個開關情況下TEAM_NAME分配給團隊變量名。

+1

'爲TEAM_NAME團隊:'? –

+0

你的matlab例子的等價物是'getattr(teams,team_name).lineup'。您還可以'setattr(teams,team_name,team_data())' – Gribouillis

回答

4

使用字典:

teams = {} 

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

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

團隊名稱字符串是否必須預先設定,或者當我得到團隊名稱的字符串時是否可以完成? – mtourtelot

+1

它們不必預設。您可以動態創建密鑰。 –

+0

謝謝,這是訣竅 – mtourtelot