方法有很多种,先写上最常用的一种。后面发现好的再更新!!!
一. 按键(key)进行排序
hamap = {'a':2,'b':1,'d':4,'c':3}
hamap = sorted(hamap.items(),key=lambda x:x[0])
二.按值(value)进行排序
hamap = {'a':2,'b':1,'d':4,'c':3}
hamap = sorted(hamap.items(),key=lambda x:x[1])
解释一下上面的代码.
sorted()函数
sorted高阶函数语法格式: sorted(可迭代对象,key=函数名,reverse=False/True)
作用:从可迭代对象中,依次取出一个元素,该元素再按照key规定的排列依据排序。
可迭代对象:即可依次取值的对象,例如:集合,序列(列表,字符串,元组),字典等。
key : 是列表排列的依据,一般可以自定义一个函数返回排序的依据,再把函数名绑定给key。
reverse : 译为反转,reverse默认等于False,从小到大排序。等于True时,从大到小排序。
匿名函数
x:相当于字典集合中的一个元组, 例:dict_items([(‘a’, 1), (‘c’, 3), (‘b’, 2)])中的(‘a’, 1)或(‘c’, 3)或(‘b’, 2)
x[1]: 返回x中的第二个元素,即键值对元组中的值。dict_items([(‘a’, 1), (‘c’, 3), (‘b’, 2)])中的1或2或3
几个注意的点
sorted函数中的可迭代对象不要用字典d,那样只能迭代出的字典d的键。要用d.items()才可迭代出字典的键值对。
sorted函数有返回值,需要一个变量接着他.