字典排序
在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排序和按“值”排序。
按“值”排序
按“值”排序就是根据字典的值进行排序,可以使用内置的sorted()函数。
sorted(iterable[, cmp[, key[, reverse]]])
iterable:是可迭代类型类型;
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 或者 reverse = False,有默认值,默认为升序排列(False)。
返回值:是一个经过排序的可迭代类型,与iterable一样。一般来说,cmp和key可以使用lambda表达式。
如果对字典进行排序,常用的形式如下:
sorted(dict.items(), key=lambda e:e[1], reverse=True)
其中,e表示dict.items()中的一个元素,e[0]表示按键排序,e[1]则表示按值排序。reverse=False可以省略,默认为升序排列。
说明:字典的items()函数返回的是一个列表,列表的每个元素是一个键和值组成的元组。因此,sorted(dict.items(), key=lambda e:e[1], reverse=True)返回的值同样是由元组组成