当前位置: 首页 > 图灵资讯 > 行业资讯> python如何将list排序

python如何将list排序

发布时间:2025-04-06 15:52:43

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

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

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

eg:

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

相关推荐:Python入门教程

以上是直接对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不会改变原始列表,而是会返回一个有序列表。列表.sort()改变了原来的列表。还有,list.sort()只能对列表进行排序,而sorted()可以对其他数据结构进行排序。

In[62]:l=[27、47、3、42、19]
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}]

相关文章

python3兼容python2吗

python3兼容python2吗

2025-05-09
python3 whl怎么安装

python3 whl怎么安装

2025-05-09
python 字典怎么提取value

python 字典怎么提取value

2025-05-09
python 怎样计算字符串的长度

python 怎样计算字符串的长度

2025-05-09
python 怎么样反向输出字符串

python 怎么样反向输出字符串

2025-05-09
python 怎么判断字符串开头

python 怎么判断字符串开头

2025-05-09