我有一本字典,我需要按
p
排序。
如果a
相等,基于w
,如果w
相等,基于name
:
result_sort={"iran":{"w":2,"l":1,"d":0,"g":-2,"p":3},
"spain":{"w":0,"l":3,"d":1,"g":-5,"p":4},
"morocco":{"w":2,"l":0,"d":1,"p":4}}
我尝试过的:
result_sort_p=sorted(result_sort.items(),key=lambada x:x[4])
尝试向
key
提供正确的sorted
:
>>> dict(sorted(result_sort.items(), key=lambda x: (x[1]["p"], x[1]["w"], x[0])))
{'iran': {'w': 2, 'l': 1, 'd': 0, 'g': -2, 'p': 3},
'spain': {'w': 0, 'l': 3, 'd': 1, 'g': -5, 'p': 4},
'morocco': {'w': 2, 'l': 0, 'd': 1, 'p': 4}}
result_sort={"iran":{"w":2,"l":1,"d":0,"g":-2,"p":3},"spain":{"w":0,"l":3,"d":1,"g":-5,"p":4},"morocco":{"w":2,"l":0,"d":1,"p":4}}
sorted(result_sort.items(),key=lambda x:(x[1]['p'],x[1]['w'],x[0]))
#output
[('iran', {'w': 2, 'l': 1, 'd': 0, 'g': -2, 'p': 3}),
('spain', {'w': 0, 'l': 3, 'd': 1, 'g': -5, 'p': 4}),
('morocco', {'w': 2, 'l': 0, 'd': 1, 'p': 4})]