python 的sorted函数

Posted Ruhe_king

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 的sorted函数相关的知识,希望对你有一定的参考价值。

sorted函数:sorted(iterable,key,reverse)

其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false

以下返回值都是单一的key值排列或者value值排列

d = {Michael: 95, Bob: 75, Tracy: 85}
>>>sorted(d.keys())
[Bob, Michael, Tracy]
>>>sorted(d.values())
[75, 85, 95]
>>>sorted(d)
[Bob, Michael, Tracy]#默认就是根据key值排序
>>>sorted(d,key=lambda x: d[x])#根据value值的大小对key排序
[Bob, Tracy, Michael]

以下返回值是既包含key又包含value的列表,与上面的区别就是sorted的第一个参数不是d而是d.items(),d.items会把d变成一个可迭代对象.

d = {Michael: 95, Bob: 75, Tracy: 85}
>>>d.items()
dict_items([(Michael, 95), (Bob, 75), (Tracy, 85)])
>>>sorted(d.items(),key=lambda x : x[1])
[(Bob, 75), (Tracy, 85), (Michael, 95)]
>>>d = {data1:3,da:1,dat:2,data22:4,aa:3,ff:0}
>>>sorted(d.items(),key=lambda x :(x[1],x[0]))#对dict先根据value排序,value相等的根据key排序
[(ff, 0), (da, 1), (dat, 2), (aa, 3), (data1, 3), (data22, 4)]
sorted(d.items())#根据key值对整个dict排序
[(‘aa‘, 3), (‘da‘, 1), (‘dat‘, 2), (‘data1‘, 3), (‘data22‘, 4), (‘ff‘, 0)]

 



以上是关于python 的sorted函数的主要内容,如果未能解决你的问题,请参考以下文章

关于python的sorted函数的问题?

Python sorted 函数用法

python3中sorted函数里关于cmp这一参数的改变

python基础lambda函数以及和mapreducefilter和sorted函数的联合使用介绍

python--lambda表达式在sort函数中的使用

(转)Python3:sorted()函数及列表中的sort()函数