2020-4-22 13:54:4 | 作者:老铁SEO | 0个评论 | 人浏览
1、首先打开cmd命令提示符,输入指令“ipython”打开python的命令行工具:
2、在命令行中先定义一个变量number数组,里面写入几个数,并用sorted函数对number排序并将排序的结果赋值给变量a,sorted函数第一个参数是要排序的参数,第二个是固定参数reverse表示倒序,True为开启:
3、最后打印输出a标量,就是降序输出了:
sorted函数
sorted(iterable,cmp,key,reverse)
参数:iterable可以是list或者iterator;
cmp是带两个参数的比较函数;
key是带一个参数的函数;
reverse为False或者True;
举例说明
(1)用cmp函数排序
>>>list1=[('david',90),('mary',90),('sara',80),('lily',95)]
>>>sorted(list1,cmp=lambdax,y:cmp(x[0],y[0]))
[('david',90),('lily',95),('mary',90),('sara',80)]
>>>sorted(list1,cmp=lambdax,y:cmp(x[1],y[1]))
[('sara',80),('david',90),('mary',90),('lily',95)]
(2)用key函数排序
>>>list1=[('david',90),('mary',90),('sara',80),('lily',95)]
>>>sorted(list1,key=lambdalist1:list1[0])
[('david',90),('lily',95),('mary',90),('sara',80)]
>>>sorted(list1,key=lambdalist1:list1[1])
[('sara',80),('david',90),('mary',90),('lily',95)]
(3)用reverse排序
>>>sorted(list1,reverse=True)
[('sara',80),('mary',90),('lily',95),('david',90)]
(4)用operator.itemgetter函数排序
>>>fromoperatorimportitemgetter
>>>sorted(list1,key=itemgetter(1))
[('sara',80),('david',90),('mary',90),('lily',95)]
>>>sorted(list1,key=itemgetter(0))
[('david',90),('lily',95),('mary',90),('sara',80)]
介绍operator.itemgetter函数
>>>importoperator
>>>a=[1,2,3]
>>>b=operator.itemgetter(0)
>>>b(a)
1
operator.itemgetter函数获取的不是值,而是定义了一个函数。
(5)多级排序
>>>sorted(list1,key=itemgetter(0,1))
[('david',90),('lily',95),('mary',90),('sara',80)]
空间复杂度是O(n)
sorted3
如果a=[[1,'3'],[1,'2'],[2,'5'],[2,'4']]
有两种解决方式:
方法一:
将字符串转换为int
sorted(list,key=lambdax:(x[0],-int(x[1])))
方法二:
取字符串的第一个字母进行比较
s=sorted(a,key=lambdax:(x[0],x[1][0]))
这个方法当字符串为一串单词时,也有效
sorted什么意思
you'resorted
你是被分配的
双语例句
1
Doesthatmeanyou'regoingtohavecommon-sensereasoningsortedoutinfiveto10years?
那低劣的你正在五到10年内去在外分类共识推论?
sorted
英['sɔ:tɪd]美['sɔ:rtɪd]
adj.
分类的,分选的
v.
分类,整理(sort的过去式和过去分词);挑选;[计算机](根据指令的模式)把…分类;把…归类(常与with,together连用)