簡體   English   中英

如何在 python 中制作嵌套數組

[英]How to make a nested array in python

我有一本 python 字典(league_managers),顯示名稱的 ID;

{1443956: 'Sean McBride', 1281609: 'Maghnus Og Dunne', 4841686: 'Pearse Bowes', 406739: 'Adam Mcconville', 196345: 'Niall McCurdy', 808057: 'John McDonald', 6365597: 'Tony Cassidy', 1322001: 'Tiarnan Mccaffrey', 350275: 'Eoghan McCurdy', 4820159: 'Ciaran McKeown', 7185401: 'Ryan Russell', 5203794: 'Michael Devenny', 3145058: 'Declan Lees'}

對於這本字典中的每個 Id,調用一個 API 返回球員在本賽季每個比賽周的得分。 如何以數據結構化的方式將此數組添加到此字典中

Id-> 名稱-> 事件-> TotalPoints

api_url = ("https://fantasy.premierleague.com/api/leagues-classic/258305/standings")
response = requests.get(api_url).json()

league_managers = dict()
manager_points = dict()

for item in response['standings']['results']:
    managerId = item['entry']
    managerName = item['player_name']
    league_managers[managerId] = managerName


for manager in league_managers:
    players_api_url = ("https://fantasy.premierleague.com/api/entry/"+ str(manager)+"/history/")
    playersResponse = requests.get(players_api_url).json()
for gameweek in playersResponse['current']:
    event = gameweek['event']
    total_points = gameweek['total_points']
def get_event(id): #call your event api here
    return str(id) + "_event"

def get_points(): #call your points api here
    return 100


d = {1443956: 'Sean McBride', 1281609: 'Maghnus Og Dunne', 4841686: 'Pearse Bowes', 406739: 'Adam Mcconville', 196345: 'Niall McCurdy', 808057: 'John McDonald', 6365597: 'Tony Cassidy', 1322001: 'Tiarnan Mccaffrey', 350275: 'Eoghan McCurdy', 4820159: 'Ciaran McKeown', 7185401: 'Ryan Russell', 5203794: 'Michael Devenny', 3145058: 'Declan Lees'}                                                            

new_dict = {}      
#this loop gives your expected structure                                                                          
for i in d:                                                    
    new_dict[i] ={}
    new_dict[i][d[i]]={}
    event = get_event(i)
    new_dict[i][d[i]][event]=get_points()

Output 按照上面的代碼

{1443956: {'Sean McBride': {'1443956_event': 100}}, 1281609: {'Maghnus Og Dunne': {'1281609_event': 100}}, 4841686: {'Pearse Bowes': {'4841686_event': 100}}, 406739: {'Adam Mcconville': {'406739_event': 100}}, 196345: {'Niall McCurdy': {'196345_event': 100}}, 808057: {'John McDonald': {'808057_event': 100}}, 6365597: {'Tony Cassidy': {'6365597_event': 100}}, 1322001: {'Tiarnan Mccaffrey': {'1322001_event': 100}}, 350275: {'Eoghan McCurdy': {'350275_event': 100}}, 4820159: {'Ciaran McKeown': {'4820159_event': 100}}, 7185401: {'Ryan Russell': {'7185401_event': 100}}, 5203794: {'Michael Devenny': {'5203794_event': 100}}, 3145058: {'Declan Lees': {'3145058_event': 100}}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM