1、sorted函数,
sorted(iterable,key,reverse),
sorted一共有iterable,key,reverse这三个参数。
其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,
key是一个函数,用来选取参与比较的元素,
reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序(从大到小),reverse=false则是顺序(从小到大),默认是reverse=false。
2、按照key排序
my_dict = {'lilee':25, 'age':24, 'phone':12}
sorted(my_dict.keys())
输出结果为
['age', 'lilee', 'phone']
3、按照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)]
如果需要倒序则
sorted(d.items(), key=lambda item:item[1], reverse=True)
得到的结果就会是
[('liqun',32),('lilee',25),('wangyan',21),('age',19)]
(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)]