Итерация вложенных словарей Python
Я пытаюсь собрать информацию из вложенных словарей (загруженных из json). Я пытаюсь сделать это с for loop. Мне не удалось получить словарь внутри словаря, который называется "игроки". "игроки" содержит словарь с именами игроков и их идентификаторы. Я хотел бы извлечь этот словарь. Вы можете найти мой код и пример данных ниже.
я смог перебрать первый уровень в словарь, но я не могу отфильтровать более глубокие уровни.
Я просматривая другие подобные вопросы, но они решали разные вопросы итерации словаря. Я не мог использовать их для своих целей. Я думал об извлечении информации, которая мне нужна, используя данные.keys () ["players"], но я не могу справиться с этим на данный момент.
for key, value in dct.iteritems():
if value == "players":
for key, value in dct.iteritems():
print key, value
образец моих данных:
{
"[CA1]": {
"team_tag": "[CA1]",
"team_name": "CzechAir",
"team_captain": "MatejCzE",
"players": {
"PeatCZ": "",
"MartyJameson": "",
"MidnightMaximus": "",
"vlak_in": "",
"DareD3v1l": "",
"Hugozhor78": ""
}
},
"[GWDYC]": {
"team_tag": "[GWDYC]",
"team_name": "Guys Who Dated Your Cousin",
"team_captain": "Teky1792",
"players": {
"wondy22": "",
"dzavo1221": "",
"Oremuss": "",
"Straker741": "",
"Vasek9266": ""
}
}
}
2 ответов
каждого value
во внешнем цикле сам словарь:
for key, value in dct.iteritems():
if 'players' in value:
for name, player in value['players'].iteritems():
print name, player
здесь, вы сначала проверить, если players
ключ фактически присутствует во вложенном словаре, тогда, если это так, повторите все ключи и значения players
значением, снова словарь.
for team in myData:
for player,id in myData[team]['players'].iteritems():
print "player %s has ID '%s'" %(player, id)