-2

我正在尝试将participantId 中的第一项与str(each['participantId']) 中的第一个列表相匹配。然后participantId 中的第二个项目到第二个列表,依此类推。

participantId = ['2','5','7','4','10','9','2']

each['participantId'] = [[1,2,3,4,5,6,7,8,9,10],
                         [1,2,3,4,5,6,7,8,9,10],
                         [1,2,3,4,5,6,7,8,9,10],
                         [1,2,3,4,5,6,7,8,9,10],
                         [1,2,3,4,5,6,7,8,9,10],
                         [1,2,3,4,5,6,7,8,9,10],
                         [1,2,3,4,5,6,7,8,9,10]]

所以我想在participantId 上使用for 循环,但只有列表中的第一项使用第一个列表执行if 语句,然后participantId 中的第二项使用第二个列表执行if 语句。截至目前,我的代码仅将所有参与者 ID 与每个列表匹配。这是我的代码片段:

for each in json['participants']:
                for x in str(each['participantId']):
                    print(x)
                    for i in participantId:
                       if x == i:
                            kills = each['stats']['deaths']
                            print('kills')
                            print(kills)

我已经将递归遍历列表视为一种解决方案,但我似乎无法做到这一点。我对 python 和编码非常陌生,所以可能缺少一些功能。

4

1 回答 1

0

我建议对这样的事情使用字典理解。
例如:

participant_data = {
        _id: data for _id, data in \
        zip(participantId, each['participantId'])
        }

将创建participant_data一个字典,其中键是 中的项目participantId,值是 中的项目each['participantId']。要获取特定 id 的数据,您只需要使用participant_data[id_of_participant].

于 2018-02-17T20:10:08.413 回答