欢迎访问宙启技术站
智能推送

对Python列表进行排序的常用函数

发布时间:2023-06-22 04:05:11

Python列表是一种非常常用的数据结构,可以用于存储一组数据。而对于列表中的数据进行排序可以让我们更方便地找到所需的元素或者对数据进行统计分析。那么在Python中,我们该如何对列表进行排序呢?下面是Python列表进行排序的常用函数:

1. sort()函数

sort()函数是Python自带的排序函数,可以对列表中的元素进行排序。其中,sort()函数的默认排序方式是升序。

语法: list.sort([reverse=True])

其中:

list: 列表类型。

reverse: 排序规则,reverse = True 为降序,reverse = False 为升序(默认)。

示例:

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

a.sort(reverse=True)
print(a)   # [5, 4, 3, 2, 1]

2. sorted()函数

sorted()函数是Python内置的排序函数,可以对列表进行排序,但不改变原列表。sorted()函数返回的是一个新的排序好的列表。

语法: sorted(iterable[,key][,reverse])

其中:

iterable:可迭代对象。

key(可选参数):用于排序的关键字,可以是函数或 lambda 表达式。

reverse(可选参数):排序规则,reverse=True 为降序,reverse=False 为升序(默认)。

示例:

a = [3, 2, 5, 1, 4]
b = sorted(a)
print(a)   # [3, 2, 5, 1, 4]
print(b)   # [1, 2, 3, 4, 5]

b = sorted(a, reverse=True)
print(b)   # [5, 4, 3, 2, 1]

3. reverse()函数

reverse()函数是Python自带的函数,可以将列表中的元素按照原来的顺序逆序排列。其中,reverse()函数不会返回任何值,直接改变原列表。

语法:list.reverse()

其中:

list: 列表类型。

示例:

a = [3, 2, 5, 1, 4]
a.reverse()
print(a)   # [4, 1, 5, 2, 3]

4. Lambda表达式

Lambda表达式是Python自带的函数表达式,可以用于定义简单的函数。通过匿名函数实现排序。

示例:

a = [(1,2), (4,5), (2,3), (3,4)]
a.sort(key=lambda x:x[1])
print(a)   # [(1, 2), (2, 3), (3, 4), (4, 5)]

以上就是Python列表进行排序的常用函数。在实际应用中,我们可以根据需要选择不同的排序函数来对列表进行排序。需要注意的是,sort()函数和reverse()函数会直接改变原列表,而sorted()函数和Lambda表达式则不会改变原列表,而是创建一个新的排序后的列表。