欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python内置函数 sorted详解

程序员文章站 2022-12-22 22:30:25
sorted作为python的内置全局方法,用于可迭代序列的排序。 sorted函数接受3个参数: >>> list =[1,2,3,6,4,5]>>> list[1, 2, 3, 6, 4, 5]>>> sorted(list)[1, 2, 3, 4, 5, 6]>>> sorted(list,r ......

sorted作为python的内置全局方法,用于可迭代序列的排序。  

sorted函数接受3个参数:

sorted(iterable,key,reverse)

sorted函数有以下特点:

1)对列表排序,返回的对象不会改变原列表

>>> list =[1,2,3,6,4,5]
>>> list
[1, 2, 3, 6, 4, 5]
>>> sorted(list)
[1, 2, 3, 4, 5, 6]
>>> sorted(list,reverse=false)
[1, 2, 3, 4, 5, 6]
>>> list
[1, 2, 3, 6, 4, 5]
>>> sorted(list,reverse=true)
[6, 5, 4, 3, 2, 1]
>>> list
[1, 2, 3, 6, 4, 5]

2)根据自定义规则进行排序,通过参数key来改变排序的规则

list=[1,3,4,5,6,8]
>>> sorted(list,key =lambda x:abs(5-x))
[5, 4, 6, 3, 8, 1]

>>> list
[1, 3, 4, 5, 6, 8]

通过key参数可以进行更加复杂的排序,如可以对元组构成的列表进行排序,自定义类排序,亦可根据key和lambda的结合进行多字段排序。

sorted的高级使用方式主要是通过key实现的。key接受的值,表示此元素的权值,sort将按照权值大小进行排序。

 

内置函数sorted与list的方法sort的区别:

用法是相同的,最大的不同在于,sort()方法不会生成一个新的list,而是在原有的list上进行修改;sorted()方法则是生成一个新的可迭代序列