Python 字典排序

1.问题
dic = {‘高血压’: 6, ‘患者’: 9, ‘知道’: 5, ‘低盐’: 7, ‘低脂’: 1 }
想要把dic的value按照从达到新排序。
2.代码

dic = {'高血压': 6, '患者': 9, '知道': 5, '低盐': 7, '低脂': 1 }
sorted(dic.items(),key=lambda x:x[1])

3.说明
(1)lambda函数
其中lambda函数匿名函数,举个例子:
Python 字典排序_第1张图片
可以看出,x是参数,x+2是返回值。
(2) dic.items()
.items()返回可遍历的元祖数组
做个测试输出dic.items:

print(dic.items())

Python 字典排序_第2张图片
可以看出
dic.items() //返回一个元祖(tuple), 每个元祖包含的是一对(key,value)
(3)key=lambda x
key是sorted函数的参数。
全部的意思就是把dic.iteritems()里的元祖传进来,但是我们只要其中的value,也就是x[1] (x[0]就是key), 所以key=lambda x:x[1]就是按照value来进行排序。如果想按照key来进行排序只要key=lambda x:x[0]就可以了。

你可能感兴趣的:(Python)