在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Python/ 如何對json進行二次排序?

如何對json進行二次排序?

比如:

a = {1: [4, 7], 2: [2, 6], 3: [4, 9], 4: [1, 8], 5: [5, 5]}

先根據(jù) value 的第一個參數(shù)排序,

b = sorted(a.items(), key=lambda item: item[1][0], reverse=True)

結(jié)果如下:

[(5, [5, 5]), (1, [4, 7]), (3, [4, 9]), (2, [2, 6]), (4, [1, 8])]

發(fā)現(xiàn)有相同,再根據(jù)第二個參數(shù)進行內(nèi)部排序。
結(jié)果如下:

[(5, [5, 5]), (3, [4, 9]), (1, [4, 7]), (2, [2, 6]), (4, [1, 8])]

這個就不知道怎么解決了?

回答
編輯回答
玄鳥

直接拿整個 list 去排就好了:

a = {1: [4, 7], 2: [2, 6], 3: [4, 9], 4: [1, 8], 5: [5, 5]}
b = sorted(a.items(), key=lambda item: item[1], reverse=True)

結(jié)果:

[(5, [5, 5]), (3, [4, 9]), (1, [4, 7]), (2, [2, 6]), (4, [1, 8])]

我回答過的問題: Python-QA

2018年1月2日 16:20
編輯回答
憶往昔
a={1: [4, 7], 2: [2, 6], 3: [4, 9], 4: [1, 8], 5: [5, 5]}
b=sorted(a.items(),cmp=lambda a,b: b[1][1] - a[1][1] if a[1][0] == b[1][0] else b[1][0] - a[1][0])
2017年9月24日 05:17