0

これに対する解決策を見つけることができないようですが、JSONデータがあると仮定します。

data = [{"color":"blue","score":"3"},{"color":"red","score":"2"},....]

色とスコアの順序を逆にして、次のようにするにはどうすればよいですか。

data = [{"score":"3","color":"blue"},{"score":"2","color":"red"},....]
4

2 に答える 2

0

コメントに書く方法は、辞書を並べ替えて OrderedDicts に変換する必要があります

from collections import OrderedDict

a = {'score':3, 'color':'red'}
b = {'score':1, 'color':'yellow'}
lst = []

for d in [a,b]:
    temp = OrderedDict()
    for k in sorted(d, reverse=True):
        temp.setdefault(k, d[k])
    lst.append(temp)

OUTPUT: [OrderedDict([('score', 3), ('color', 'red')]), OrderedDict([('score', 1), ('color', 'yellow')])]
于 2012-11-08T19:59:47.583 に答える
0

アイテムの順序は重要ではありませんが、特定の順序が本当に必要な場合は、OrderedDictを使用できます。

>>> from collections import OrderedDict
>>> data = [OrderedDict([("score", "3"),("color", "blue")])]
>>> json.dumps(data)
'[{"score": "3", "color": "blue"}]'
于 2012-11-08T19:22:19.663 に答える