1. 程式人生 > >Python字典以鍵或值排序

Python字典以鍵或值排序

>>> dict1={"Beijing":34, "Shanghai":40, "Guangzhou":29}
>>> sorted(dict1.iteritems(), key=lambda A:A[0])
[('Beijing', 34), ('Guangzhou', 29), ('Shanghai', 40)]
>>> sorted(dict1.iteritems(), key=lambda A:A[1])
[('Guangzhou', 29), ('Beijing', 34), ('Shanghai', 40)]

如果要以從大到小進行排序,只需要加上reverse=True引數即可。

>>> sorted(dict1.iteritems(), key=lambda A:A[0], reverse=True)
[('Shanghai', 40), ('Guangzhou', 29), ('Beijing', 34)]
>>> sorted(dict1.iteritems(), key=lambda A:A[1], reverse=True)
[('Shanghai', 40), ('Beijing', 34), ('Guangzhou', 29)]

注意:sorted()的第一個引數為iterable。因為字典本身並不是iterable的,需要利用iteritems()函式將字典轉換為iterable。