首页 > 编程语言 > 详细

python 的sorted函数

时间:2018-03-22 14:58:32      阅读:196      评论:0      收藏:0      [点我收藏+]

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函数

原文:https://www.cnblogs.com/wenbo4399/p/8623799.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!