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

Python的sorted()函数:排序任何东西

发布时间:2023-06-29 18:51:18

Python的sorted()函数是内置的排序函数,它可以用来对几乎任何东西进行排序。无论是数字、字符串、列表、元组等等,sorted()函数都可以轻松处理。下面我将详细介绍sorted()函数的用法和相关注意事项。

sorted()函数的基本用法非常简单,只需要传入一个可迭代的对象作为参数,它将返回一个新的排好序的列表。

例如,我们可以通过sorted()函数对一个列表进行排序:

numbers = [5, 3, 8, 2, 9, 1]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

输出结果为:

[1, 2, 3, 5, 8, 9]

在sorted()函数的结果中,原始列表numbers保持不变,而sorted_numbers是按升序排列的新列表。

除了默认的升序排序外,sorted()函数还提供了针对字符串、元组等不同类型的排序方式。例如,对一个字符串进行排序:

string = "python"
sorted_string = sorted(string)
print(sorted_string)

输出结果为:

['h', 'n', 'o', 'p', 't', 'y']

sorted()函数默认会按照字符串中每个字符的ASCII值进行排序。

如果需要按照降序排列,可以使用sorted()函数的reverse参数。将reverse参数设置为True时,sorted()函数将返回一个按照降序排列的列表。

例如,对一个列表按照降序排列:

numbers = [5, 3, 8, 2, 9, 1]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)

输出结果为:

[9, 8, 5, 3, 2, 1]

除了reverse参数外,sorted()函数还提供了key参数,用于指定按照哪个关键字进行排序。key参数需要传入一个函数,用于在排序之前将每个元素转换为一个可比较的值。

例如,我们可以使用key参数将一个字符串按照长度进行排序:

strings = ["apple", "banana", "cherry", "durian"]
sorted_strings = sorted(strings, key=len)
print(sorted_strings)

输出结果为:

['apple', 'durian', 'banana', 'cherry']

在这个例子中,key参数使用了len函数,将每个字符串转换为它们的长度,在排序过程中,sorted()函数根据字符串的长度进行排序。

需要注意的是,sorted()函数不会改变原始的可迭代对象。它总是返回一个新的排好序的列表。如果想要对原始对象进行排序,可以使用列表的sort()方法。

总结来说,sorted()函数是Python中常用的排序函数,它可以对几乎任何东西进行排序,包括数字、字符串、列表、元组等等。除了默认的升序排序,还可以通过reverse参数和key参数来指定降序排序和自定义排序方式。在使用sorted()函数时,需要注意它返回的是一个新的排好序的列表,不会改变原始对象。