Я бы создал более конкретное название, но не знаю, как сформулировать мой вопрос.Python 3: Итерация по словарю
{
"playerStatSummaries": [
{
"playerStatSummaryType": "AramUnranked5x5",
"aggregatedStats": {
"totalChampionKills": 2250,
"totalAssists": 6199,
"totalTurretsKilled": 114
},
"modifyDate": 1463737953000,
"wins": 211
},
{
"playerStatSummaryType": "RankedSolo5x5",
"aggregatedStats": {
"totalNeutralMinionsKilled": 928,
"totalMinionKills": 15346,
"totalChampionKills": 522,
"totalAssists": 459,
"totalTurretsKilled": 129
},
"losses": 35,
"modifyDate": 1464273041000,
"wins": 44
},
{
"playerStatSummaryType": "URF",
"aggregatedStats": {
"totalNeutralMinionsKilled": 100,
"totalMinionKills": 1379,
"totalChampionKills": 138,
"totalAssists": 125,
"totalTurretsKilled": 25
},
"modifyDate": 1463946086000,
"wins": 10
}
],
"summonerId": 85058811
}
Я хотел бы перебирать этот словарь, пока не дойду до «побед»: 44 пары ключ/значение. Мне нужно динамически достичь этого, потому что json-файл не всегда имеет одинаковое количество записей, поэтому индекс не всегда одинаковый.
Я знаю, как просто перебирать ключи:
for key in ranked_stats_json.keys():
if key == "playerStatSummaries":
print("reached")
, но тогда я не знаю, как перебирать ключи снова, потому что есть еще один набор значений ключа/пара в пределах «playerStatSummaries» блок.
Я также не понимаю, почему значения ключа/пары здесь имеют несколько значений, например «playerStatSummaryType:» RankedSolo5x5, «aggregatedStats». Я думал, что для каждого ключа может быть только одно значение.
Итак, как я могу динамически достичь «выигрышей»: 44 пары ключ/значение в блоке «RankedSolo5x5», если я не знаю, сколько записей (блоков, как я их называю) будет, когда я получите этот файл.
Прошу прощения, если этот вопрос кажется неопределенным, потому что я довольно запутан, как решить эту проблему, но скажите мне, требуется ли дополнительная информация.
'playerStatSummaryType' имеет только одно значение. «aggregatedStats» имеет двоеточие после него, что означает, что это отдельный ключ, а не другое значение 'playerStatSummaryType' –
« Я также не понимаю, почему значения ключа/пары здесь имеют несколько значений, например «playerStatSummaryType:» RankedSolo5x5 , «aggregatedStats». --- ** Они не являются **. Ключ: * playerStatSummaryType *, значение равно * RankedSolo5x5 *, следующий ключ - * aggregatedStats *, следующее значение - словарь. – Craicerjack
Вам нужно только wins/44 pair или вам нужны все «победы»? – Andy