我正在尝试将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],
[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语句。截至目前,我的代码只是将所有参与者列表与每个列表匹配。这是我的代码片段:
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和编码很新,所以可能会遗漏一些功能。
答案 0 :(得分:0)
我建议使用词典理解来做这样的事情 例如:
participant_data = {
_id: data for _id, data in \
zip(participantId, each['participantId'])
}
将participant_data
设为字典,其中键是participantId
中的项目,值是each['participantId']
中的项目。要获取特定ID的数据,您只需使用participant_data[id_of_participant]
。