python怎么从小到大排列

图片[1]-python怎么从小到大排列-优素网-模型,乐高,编程,学习经验

python提供了对list排序两种方法

1、使用list内置函数sort排序

list.sort(key=None,reverse=False)

eg:

In[57]:l=[27,47,3,42,19,9]
In[58]:l.sort()
In[59]:l
Out[59]:[3,9,19,27,42,47]

上面这种是直接对l列表里面的元素排序,sort()函数还提供了一个key参数,这个参数的值是一个函数,这个函数只能有一个返回值,且返回值用来进行比较。 这个技术是快速的因为key指定的函数将准确地对每个元素调用。

In[53]:L=[('b',6),('a',1),('c',3),('d',4)]
In[54]:L.sort(key=lambdax:x[1])
In[56]:L
Out[56]:[('a',1),('c',3),('d',4),('b',6)]

上面那段话,再结合这个例子,我是这样理解的:匿名函数lambda x:x[1]相当于:

deff(x):
returnx[1]

key参数接受列表L里的每个元素的第二个参数,根据第二个参数的排序,确定整体的排序。也就是说,设置了key参数后,key接收的值代表了整体,排序的标准就变成了对key所接收的值进行排序。

2、使用python内置函数sorted排序

sorted方法和sort方法很相似,不同的是,sorted不改变原来的列表,并返回一个排好序的列表。而list.sort()是改变了原有的列表。还有就是,list.sort()只能对列表排序,而sorted()可以对其他数据结构排序。

In[62]:l=[27,47,3,42,19,9]
In[63]:sorted(l)
Out[63]:[3,9,19,27,42,47]

sorted方法同样可以用key参数,用法也是一样的。

In[68]:data=[{'name':'Abbie','score':99},{'name':'Ivy','score':80}]
In[69]:sorted(data,key=lambdax:x['score'])
Out[69]:[{'name':'Ivy','score':80},{'name':'Abbie','score':99}]
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容