如何在Python中对列表进行排序的函数
发布时间:2023-06-07 01:07:26
Python中有多种函数可以对列表进行排序。在本文中,我们将介绍以下几种排序函数:sort函数、sorted函数以及自定义比较函数。
1. sort函数
sort函数是Python中对列表进行排序的最基本的函数。它可以原地对列表排序,也就是说不需要创建新的列表,而是直接在原列表中进行排序。
sort函数的语法如下:
list.sort(key=None,reverse=False)
其中,key参数是一个函数,用于指定排序规则;reverse参数为True表示倒序排序,为False表示正序排序。
示例代码:
list = [4, 2, 1, 3] list.sort() print(list) # [1, 2, 3, 4]
2. sorted函数
sorted函数与sort函数类似,也是用于对列表进行排序。但它不是原地排序,而是返回一个新的排序后的列表。
sorted函数的语法如下:
sorted(iterable, key=None, reverse=False)
其中iterable参数为排序的列表,key和reverse和sort函数中的相同。
示例代码:
list = [4, 2, 1, 3] sorted_list = sorted(list) print(sorted_list) # [1, 2, 3, 4]
3. 自定义比较函数
有时候我们需要对列表中的元素按照特定的规则进行排序,此时就需要自定义比较函数。
自定义比较函数是一个接受一个参数的函数,返回一个关键字,用于指定排序规则。例如,按长度排序:
def length(word):
return len(word)
list = ['apple', 'banana', 'cherry', 'durian']
sorted_list = sorted(list, key=length)
print(sorted_list) # ['apple', 'cherry', 'banana', 'durian']
这里即定义了length函数,用于返回字符串长度,并传入了sorted函数的key参数中。
可以看到,自定义比较函数可以为我们提供更加灵活的排序方式。
总结:
Python中对列表进行排序的函数有sort和sorted,其中sort是原地排序,而sorted生成新的排序后的列表。此外,我们可以通过自定义比较函数来指定自己的排序规则。
