python如何降序排列

您所在的位置:网站首页 python中如何将列表降序排列出来 python如何降序排列

python如何降序排列

2023-09-01 22:19| 来源: 网络整理| 查看: 265

一、前言

对Python的列表(list)有两个用于排序的方法:

一个是内建方法list.sort(),可以直接改变列表的内容:

>>> list1 = [9,8,7,6,5]>>>list1.sort()>>>list1

[5, 6, 7, 8, 9]

另一个是内建函数sorted(),它的特点是不改变原列表的内容,而是根据一个可迭代对象建立一个新的列表:

>>> list2 = [4,3,2,1]>>> list3 =sorted(list2)>>>list2

[4, 3, 2, 1]>>>list3

[1, 2, 3, 4]

二、基础排序

最简单的升序排序非常容易:直接调用sorted()函数就可以了,它返回一个新的列表:

>>> sorted([5, 2, 3, 1, 4])

[1, 2, 3, 4, 5]

也可以使用列表本身的方法list.sort()去排序。它会改变list的内容,然后返回None作为执行的结果,以避免混淆。一般来说它没有sorted()那么方便,但是如果你不需要原来的列表的话,使用它在性能上会有轻微的提升。

>>> a = [5, 2, 3, 1, 4]>>>a.sort()>>>a

[1, 2, 3, 4, 5]

另一个区别就是,list.sort()方法只能用于列表,相对的,sorted()函数则适用于所有的可迭代对象,如:

>>> sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})

[1, 2, 3, 4, 5]

三、key函数

从Python2.4开始,无论是list.sort()还是sorted()都增加了一个key参数,指定一个在进行比较之前作用在每个列表元素上的函数。

例如,以下就是大小写不敏感的字符串比较:

>>> sorted("This is a test string from Andrew".split(), key=str.lower)

['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']

key参数对应的值,必须是这样一个函数:接受一个参数然后返回一个用来排序的键。用这种技术来排序在速度上是非常快的,因为key函数恰好被每一个输入记录调用一次。

一种常用的模式是,在对复杂对象进行排序的时候,使用这个对象的索引作为排序的键,例如:

>>> student_tuples =[

... ('john', 'A', 15),

... ('jane', 'B', 12),

... ('dave', 'B', 10),

... ]>>> sorted(student_tuples, key=lambda student: student[2]) #sort by age

[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

用对象的命名属性也是一样的效果,例如:

&



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3