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

利用Python的sorted()函数对列表排序

发布时间:2023-05-27 08:36:31

Python是一种高级编程语言,它提供了各种内置函数来处理列表。其中一个非常重要的函数是sorted()函数,它可以对一个列表进行排序。下面我们将介绍一些sorted()函数的用法。

1. 初步使用及基本排序

最简单的方法是对列表进行排序,这可以使用以下语句:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

sorted_list = sorted(my_list)

print(sorted_list)

这里我们定义了一个包含数字的列表my_list,我们可以使用sorted()函数对其进行排序,并将排序后的列表存储在一个新变量中。在这种情况下,我们将sorted_list打印出来,它包含了排序过的数字列表。

2.从小到大排序

默认情况下,sorted()函数按照升序对列表进行排序。例如:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

sorted_list = sorted(my_list)

print(sorted_list)

运行结果是:

[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

3. 从大到小排序

如果要对列表进行降序排列,可以使用sorted()函数的reverse参数:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

sorted_list = sorted(my_list, reverse = True)

print(sorted_list)

运行结果是:

[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

4. 按字符串长度排序

sorted()函数也可以用来按字符串长度对列表进行排序。在python中,我们可以使用lambda表达式编写一个简短的函数作为排序函数:

my_list = ['cat', 'watermelon', 'car', 'zebra', 'apple', 'banana']

sorted_list = sorted(my_list, key = lambda x: len(x))

print(sorted_list)

运行结果是:

['cat', 'car', 'zebra', 'apple', 'banana', 'watermelon']

这里的元素按字符串长度(字母数)排序。

5. 按多个条件排序

在某些情况下,我们需要使用多个条件来对列表进行排序。在这种情况下,我们可以使用lambda函数来定义一个排序函数。以下是一个例子,按列表中的 个元素对列表进行排序,然后按第二个元素对它们进行排序。

my_list = [(4, "apple"), (1, "banana"), (3, "carrot"), (2, "banana")]

sorted_list = sorted(my_list, key = lambda x: (x[0], x[1]))

print(sorted_list)

运行结果是:

[(1, 'banana'), (2, 'banana'), (3, 'carrot'), (4, 'apple')]

在这个例子中,我们先将元素按照 个数字进行排序,如果 个数字相同,则按照第二个字符串排序。

6. 以反向顺序对多个键进行排序

如果要对多个条件进行排序,但其中一个条件需要按照降序排列,则可以使用reverse参数。 例如:

my_list = [(4, "apple"), (1, "banana"), (3, "carrot"), (2, "banana")]

sorted_list = sorted(my_list, key = lambda x: (x[0], x[1]), reverse = True)

print(sorted_list)

运行结果是:

[(4, 'apple'), (3, 'carrot'), (2, 'banana'), (1, 'banana')]

在这种情况下, 个元素按升序排列,而第二个元素按降序排列。

7. 最短的排序

在某些情况下,可能需要对一个非常简单的列表进行排序,但不希望编写实际的排序函数。在这种情况下,可以使用如下语句:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

my_list.sort()

print(my_list)

这里使用列表的sort()方法对列表进行排序,它与sorted()函数的不同之处在于,sort()方法对列表in-place操作,而不是返回一个新列表,因此可以替换原始列表的值。

sorted()函数的应用场景非常广泛。在对大量数据进行分析时,经常需要对列表进行排序来进行计算或可视化。因此,了解如何使用sorted()函数对列表进行排序是成为一位优秀Python程序员的必要知识。