1.sorted()函数
sorted()函数签名:sorted(iterable, key=None, reverse=False)
参数 | 说明 |
---|---|
iterable | 任何可迭代对象,包括:列表、字典、set、字符串 |
key | 是一个函数对象,比较的元素,取自迭代器中的一个元素 |
reverse | 排序规则,reverse = True 降序 , reverse = False 升序(默认) |
关于sorted()函数的具体使用可以参考这篇文章:史上最全关于sorted函数的10条总结
2.按照key排序
直接调用sorted(my_dict)就能按key值对字典排序,这里是按照字典顺序对key值进行排序的,如果想按照倒序排序的话,只需要将reverse置为true即可。
my_dict = {'lilee':25, 'age':24, 'phone':12} sorted(my_dict) 输出结果为:['age':'24', 'lilee':'25', 'phone':'12']
3.按照value值排序
共有三种方法可以实现将字典按照value值进行排序
(1)key使用lambda匿名函数取value进行排序
d = {'lilee':25, 'wangyan':21, 'liqun':32, 'age':19}
sorted(d.items(), key=lambda item:item[1])
输出结果为:[('age',19),('wangyan',21),('lilee',25),('liqun',32)]
(2)使用operator的itemgetter进行排序
import operator sorted(d.items(), key=operator.itemgetter(1)) 输出结果为:[('age',19),('wangyan',21),('lilee',25),('liqun',32)]
(3)将key和value分装成元组,再进行排序
f = zip(d.keys(), d.values()) c = sorted(f) 输出结果为 [('age',19),('wangyan',21),('lilee',25),('liqun',32)]