如何根据字典字典对列表进行排序

时间:2018-04-17 10:40:32

标签: python sorting dictionary nested

我正在尝试根据内部字典(a + b + C)的值之和对以下字典列表进行排序

d2=[{'id': 255, 's': {'a':  50, 'b': 60, 'c': 0}},
    {'id': 257, 's': {'a': 100, 'b': 10, 'c': 0}}, 
    {'id': 285, 's': {'a':  20, 'b': 10, 'c': 0}}]

3 个答案:

答案 0 :(得分:2)

以下是解决方案,

sorted(d2, key=lambda x:x['s']['a']+x['s']['b']+x['s']['c'])

答案 1 :(得分:1)

试试这个:

d2 = sorted(d2, key=lambda x: sum(x['s'].values()))

答案 2 :(得分:1)

要进行排序,请使用list.sort并在密钥中使用必需的字典键。

<强>实施例

d2.sort(key=lambda item:sum(item['s'].values()))