在列表中列出 - 如何访问元素

时间:2017-07-29 07:19:36

标签: python list dictionary

这是我的代码:

def liveGame(summonerName):
req = requests.get('https://br1.api.riotgames.com/lol/spectator/v3/active-games/by-summoner/' + str(summonerName) + '?api_key=' + apikey)
req_args = json.loads(req.text)
print(req_args)

这就是我从我的请求中收到的信息。:

{
    'gameId': 1149933395,
    'mapId': 11,
    'participants': [
        {
            'teamId': 100,
            'spell1Id': 11,
            'spell2Id': 4,
            'championId': 141,
            'profileIconId': 7,
            'summonerName': 'Disneyland Party',
            ...
        }
    ]
}

我已经简化了请求的返回,但正如您可以看到'参与者' index是另一个列表。那么,我如何访问此列表的内容(teamId,Spell1Id等)?

我只能这样访问完整列表:

print(req_args['participants'])

但是,我想要做的只是访问'参与者的一个元素。列表。

我正在使用Python 3.6。

2 个答案:

答案 0 :(得分:1)

您可以像使用普通列表一样使用索引访问此列表项 如果要访问req_args ['participant']的第一个元素,可以使用

req_args['participants'][i]

其中i只是您要从列表中访问的项目的索引。

由于链接列表中的项目是访问teamId的字典,而且只有一个项目的spellId(在这种情况下是第一项),您可以执行以下操作

req_args['participants'][0]['teamId']
req_args['participants'][0]['spell1Id']

您还可以遍历列表以访问每个字典以及teamId,spell1Id或其他键中的值,如此

for participant in req_args['participants']:
    print(participant['teamId'])
    print(participant['spell1Id'])

答案 1 :(得分:0)

从字典对象中获取值很简单。

打印项目['参与者'] [0] .get(' teamId')

打印项目['参与者'] [0] .get(' spell1Id')