多个python嵌套for循环,可能递归遍历列表。python 3
我正在尝试将participantId中的第一项与str中的第一个列表(每个['participantId'])相匹配。然后将participantId中的第二项添加到第二个列表中,依此类推多个python嵌套for循环,可能递归遍历列表。python 3,python,json,python-3.x,riot-games-api,Python,Json,Python 3.x,Riot Games Api,我正在尝试将participantId中的第一项与str中的第一个列表(每个['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],
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和编码非常陌生,所以我可能缺少一些函数 我建议对类似的内容使用字典理解。
例如:
participant_data = {
_id: data for _id, data in \
zip(participantId, each['participantId'])
}
将使
participant\u data
成为一个字典,其中键是participantId
中的项目,值是每个['participantId']
中的项目。要获取特定id的数据,您只需使用participant\u data[id\u of\u participant]
我不明白您想做什么,最后的操作每个['stats']['death']
都不依赖于您当前查看的participantId
。x…的和i…
的循环对每个都没有影响??统计数据不需要受for循环的影响。我只想在第一个参与者ID与列表匹配的条件下调用这些统计信息。因此,在满足这些条件的情况下,他们会打印杀戮。也许如果我包含更多的代码,它会有意义