Вопрос по работе с json в Python
У меня есть json файл, в котором:
{
"7283": {
"name": "man",
"money": 999288
},
"9937": {
"name": "dog",
"money": 28
}
}
Как я могу обойти ключи 7283 и 9973, сразу получив name и money, для того чтобы сделать топ значений, который должен выглядеть так:
1. man: 999288
2. dog: 28
И возможно ли это?
Ответы (1 шт):
Автор решения: Jack_oS
→ Ссылка
Если просто вывести на печать
d = {
"7283": {
"name": "man",
"money": 999288
},
"9937": {
"name": "dog",
"money": 28
}
}
то так:
f = [(x['name'], x['money']) for x in d.values()]
for i, x in enumerate(f, 1):
print(f'{i}. {x[0]}: {x[1]}')
выдаст:
1. man: 999288
2. dog: 28
Так, чтоб вывод был в порядке убывания по money:
for i, x in enumerate(sorted(f, key=lambda x: x[1], reverse=True), 1):
print(f'{i}. {x[0]}: {x[1]}')