Python中的sort函数,python sort sorted函数
联系:都是排序方式。
区别:1。sort函数应用于list,它属于list的成员方法。sorted可以对所有的iterable对象进行排序。
2.列表的排序方法返回对已有列表的操作,没有返回值;内置函数sorted返回一个新的列表,而不是在原来的基础上操作。
3.sort的使用方法是list.sort(),sorted的使用方法是sorted(list)。
语法:1。排序语法原型:list.sort (fun,key=none,reverse=flare)
(1)参数fun指示该排序函数基于哪个算法。一般情况下,python默认使用归并排序,一般情况下,我们不会重写这个参数,所以基本可以忽略;
(2)参数键用于指定一个函数,每次比较元素时都会调用这个函数。这个函数代表排序规则,也就是你根据什么规则对你的序列进行排序;它是由通用lambda函数指定的。
(3)参数reverse指定排序规则,reverse=True(升序),reverse=Flase(降序),默认为降序。
示例:
Ls=list ([(wo ,1,9),( shi ,2,6),( guo ,3,7),( happy bike ,4,5)])#使用默认参数排序,即按照元祖的第一个元素排序(默认升序)Ls.1,9),(欣喜的自行车,4,5)]#降序情况ls。Sort (reverse=true) print (ls) [(欣喜的自行车,4,5),(我,1,9),(时,2,6),]。根据祖先ls的第二个元素进行排序。sort(key=lambda x:(x[1]))print(ls)[( wo ,1,9),( shi ,2,6),( guo ,3,7),( joined bike ,)#如果下标2的元素相同,则按下标0 ls的元素排序。Sort (key=lambda x: (x [1],x [0])) print (ls) [(wo ,1,9),( shi ,2,6),( guo ,)
(1)参数iterable是一个迭代对象。
(2)参数键用于指定一个函数,每次比较元素时都会调用这个函数。这个函数代表排序规则,也就是你根据什么规则对你的序列进行排序;它是由通用lambda函数指定的。
(3)参数reverse指定排序规则,reverse=True(升序),reverse=Flase(降序),默认为降序。
说明:sort只能对列表进行排序,而sorted可以对任何可迭代对象进行排序
字典:1。按键值排序
DIC={1: d ,2: b ,3: b ,4: e ,5: a}排序(DIC) #默认情况下字典的键直接排序[1,2,3,4,5]#你也可以这样做,结果相同(DIC
dic={1: D ,2: B ,3: B ,4: E ,5: A}sorted(dic.items(),key=lambda x:(x[1])[(5, A ),(2, B ),(3, B ),(1, D ),(4,E)] items()实际上是将dic转换成可迭代对象(即元组),即[(1, D ),(2, B ),(3, B ),(4, E ),(5, a)],items。注意,排序后的返回值是一个列表,原始字典中的名值对被转换成列表中的元组。
lis=[{age:20, name:a},{age:25, name:b},{age:10, name:c}]排序(lis,key=lambda x:(x[ age ])[{ age :10, name : c },{age:20, name: a},{age: 25, name: b}]
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。