Я пытаюсь создать упорядоченный список на основе значения вложенного словаря.Возвращает отсортированный список из вложенных словарей
Вот мой источник данных:
data = {
'countries': {
'BE': {
u'impressions': 0,
u'requests': 807
},
'BG': {
u'impressions': 0,
u'requests': 130
},
'JP': {
u'impressions': 0,
u'requests': 1923
}
},
'totals': {}
}
и вот результат я бы ожидать:
list = [{'JP': { u'impressions': 0, u'requests': 1923 }}, {'BE': { u'impressions': 0, u'requests': 807 }}]
и, наконец, код, который я написал, чтобы сделать фильтрацию:
list = sorted(data["countries"], key=itemgetter('requests'))[:2]
Но я получаю всегда такую ошибку:
TypeError: string indices must be integers
Я думаю, проблема в том, что я использую неправильный синтаксис для получения ключа requests
из dict ... Я пробовал разные способы, но всегда получаю подобные ошибки. Что я делаю не так?
О, да. Похоже, вы тоже хотите «reverse = True». – Ryan
Спасибо! Это именно то, что мне нужно. – Andrea