python序列列表怎么排序?
发布时间:2026-01-20 21:40:01

如何对Python序列中的列表进行排序?
1.sort方法排序原址排序
list.sort(key=None,reverse=False(orTrue))
reverse=False:正向排序;
当reverse=Tru:反向排序。
默认为False。
2.key:排序关键字,值为函数,该函数只有一个参数,并返回一个值。
比如有一个User对象的list,希望通过对象的user_id树形进行排序,可以提供一个以user实例为输入,输出相应的user_id值得函数给key(即key)=lambda u:uuser_id或key=attrgetter(‘user_id’))
3.如果您不需要原始列表,则执行后将更改原始列表,这种效率稍高一些。
>>>list=[1,2,3,4,5,6,7,8] >>>list [1,2,3,4,5,6,7,8] >>>importrandom>>>random.shuffle(list) #打乱顺序 >>>list [8,1,9,2,4,3,5,67] >>>list.sort() #默认是升序排序 >>>list.sort(reverse=True) #降序排序 >>>list [9,8,7,6,5,4,3,2 >>>list.sort(key=lambdax:len(str(x))) #按转换成字符串的长度排序 >>>list [9,8,7,6,5,4,3,2
4.使用内置函数sorted对列表进行排序,并返回新列表
>>>list [9,8,7,6,5,4,3,2 >>>sorted(list) #升序排序 [1,2,3,4,5,6,7,8] >>>sorted(list,reverse=True) #降序排序 [9,8,7,6,5,4,3,2
5.使用列表对象的reverse方法原地逆序元素
>>>list [9,8,7,6,5,4,3,2 >>>list.reverse() >>>list [1,2,3,4,5,6,7,8]
6.使用列表对象的reversed逆序排列列表元素,并返回迭代对象

