Python里怎麼按dict value來排序? | how to sort by value in python dict

簡單來說就是先生成 value => key 的tuples,然後call sorted

sorted(
    [(my_map.get(k), k) for k in my_map],
    reverse=True
)

另一種方法是call dict的items來產生dict_items,這個大概就像list of tuples with key and value。

d = {'a':1, 'b':2, 'c':3, 'd':64}
d.items()

輸出

dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 64)])

所以排序可以用

sorted([(v, k) for k,v in d.items()], reverse=True)

輸出

[(64, 'd'), (3, 'c'), (2, 'b'), (1, 'a')]

本文鏈接

Leave a Comment

Your email address will not be published.