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

sort()函数例子

发布时间:2023-05-19 19:32:06

sort()函数是Python中的一个内置函数,用于对列表或其他可迭代对象进行排序。sort()函数是在原地进行排序,也就是说,它并不会创建一个新的排序后的列表,而是直接修改原来的列表。

sort()函数有两个可选参数:key和reverse。key参数可以指定一个函数,用于生成每个元素的排序关键字。reverse参数用来指定排序的方向,如果为True,则表示降序排序,否则为升序排序(默认值)。

下面是一个简单的示例,用于对一个包含随机数字的列表进行排序:

import random

lst = [random.randint(1, 100) for _ in range(10)]
print("原始列表:", lst)

lst.sort()
print("升序排序后:", lst)

lst.sort(reverse=True)
print("降序排序后:", lst)

输出结果:

原始列表: [73, 86, 61, 79, 78, 6, 54, 95, 99, 68]
升序排序后: [6, 54, 61, 68, 73, 78, 79, 86, 95, 99]
降序排序后: [99, 95, 86, 79, 78, 73, 68, 61, 54, 6]

在上面的示例中,我们使用random.randint()函数来生成一个包含10个随机数字的列表。然后我们调用sort()函数对这个列表进行排序。 次调用sort()函数,默认为升序排序,因此输出的结果是升序排列。第二次调用sort()函数,我们将reverse参数设置为True,表示进行降序排序。

但是,sort()函数并不仅仅是能够排序数字,它还可以对字符串进行排序,对于排序不同类型的items,可以使用key参数传递一个函数来获取关键字。例如,我们可以根据字符串长度对一个包含字符串的列表进行排序:

lst = ["apple", "banana", "orange", "grapefruit", "watermelon"]
lst.sort(key=len)
print(lst)

输出结果:

['apple', 'banana', 'orange', 'watermelon', 'grapefruit']

在上面的示例中,我们首先定义了一个包含五个不同字符串的列表,然后使用sort()函数对它们进行排序。在这个例子中,我们将key参数设置为len函数,表示按照字符串长度排序。

除了列表之外,sort()函数还可以用于元组、集合等Python容器,只要它们是可迭代的并且包含可比较的元素。例如,我们可以使用sort()函数对一个包含元组的列表进行排序,按照元组的第二个元素排序:

lst = [(1, "apple"), (3, "orange"), (2, "banana")]
lst.sort(key=lambda x: x[1])
print(lst)

输出结果:

[(2, 'banana'), (1, 'apple'), (3, 'orange')]

在上面的示例中,我们定义了一个包含三个元组的列表,每个元组包含两个元素。我们使用sort()函数按照元组的第二个元素进行排序,并且使用lambda函数来访问元组的第二个元素。

值得注意的是,sort()函数是一种很高效的排序算法,它在大多数情况下都能够非常快速地处理大型列表。但是,如果你的列表非常大,那么可能需要使用一些更高级的排序算法来提高排序效率。在这种情况下,你可以使用Python内置的sorted()函数,它有着与sort()函数相同的功能,但它能够处理更大的列表。sorted()函数生成一个新的排好序的列表,而不是在原地修改列表。同时,sorted()函数也可以接受与sort()函数相同的关键字参数。