ネストされた辞書の値に基づいて順序付きリストを作成しようとしています。
ここに私のソースデータがあります:
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
...さまざまな方法を試しましたが、常に同様のエラーが発生します。私は何を間違っていますか?