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

Python中常用的排序函数有哪些

发布时间:2023-06-14 08:04:25

Python中常用的排序函数有:sorted()、sort()、heapq.nlargest()、heapq.nsmallest()、max()、min()、sorted()、bisect.insort()。

1.sorted()函数:对可迭代对象进行排序,返回一个新的已排序列表。可以对列表、元组、字符串、字典等进行排序,还可以传入参数进行自定义排序。例如:

numbers = [8, 4, 2, 9, 1, 5, 7, 6, 3]
result = sorted(numbers)
print(result)  # 输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]

2. sort()函数:是列表的一个方法,可以将列表本身按指定的方式排序。sort()方法默认是升序排序,还可以传入参数进行自定义排序。例如:

numbers = [8, 4, 2, 9, 1, 5, 7, 6, 3]
numbers.sort()
print(numbers)  # 输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]

3. heapq模块:heapq.nlargest()和heapq.nsmallest()函数用于在可迭代对象中查找最大和最小的元素。这两个函数的 个参数是要查找的元素个数,第二个参数是要查找的可迭代对象。例如:

import heapq

numbers = [8, 4, 2, 9, 1, 5, 7, 6, 3]
result = heapq.nlargest(3, numbers)
print(result)  # 输出结果:[9, 8, 7]

result = heapq.nsmallest(3, numbers)
print(result)  # 输出结果:[1, 2, 3]

4. max()和min()函数:用于查找列表中的最大和最小元素。这两个函数的参数是要查找的列表。例如:

numbers = [8, 4, 2, 9, 1, 5, 7, 6, 3]
max_number = max(numbers)
print(max_number)  # 输出结果:9

min_number = min(numbers)
print(min_number)  # 输出结果:1

5. bisect模块:用于在已排序的序列中查找元素应该插入的位置,从而保持序列的有序性。bisect.insort()函数用于在已排序的序列中插入元素,需要传入两个参数, 个参数是要插入的序列,第二个参数是要插入的元素。例如:

import bisect

numbers = [1, 2, 3, 5, 6, 7]
bisect.insort(numbers, 4)
print(numbers)  # 输出结果:[1, 2, 3, 4, 5, 6, 7]

以上就是Python中常用的排序函数,可以根据不同的需求选择合适的函数进行排序。