python的sorted函数对字典按value进行排序

时间:2021-09-21 21:00:17

场景:词频统计时候,我们往往要对频率进行排序

sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。
其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。

已知:

>>> a = {"tuffy":2, "spike":10, "tom":8, "tyke":3, "jerry":7 }

>>> print a.items()  #使用items()或者iteritems()先将字典转换为二元组的列表

>>> [('tom', 8), ('spike', 10), ('tyke', 3), ('jerry', 7), ('tuffy', 2)]

>>> from operator import itemgetter

>>>c = sorted(a.items(),key=itemgetter(1))

>>>print c

>>>[('tuffy', 2), ('tyke', 3), ('jerry', 7), ('tom', 8), ('spike', 10)]