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

Python中的sorted()函数——排序列表

发布时间:2023-06-19 11:16:04

Python中的sorted()函数是内置的排序函数。该函数可以用于对列表、元组、字典等进行排序。在本文中,我们将着眼于对列表进行排序。

sorted()函数的语法

在Python中,sorted()函数的语法如下:

sorted(iterable, key=None, reverse=False)

其中:

- iterable:必选参数,表示要排序的序列,可以是列表、元组等。

- key:可选参数,用来指定排序的按键(排序的依据)。如果不指定,则按默认规则排序。

- reverse:可选参数,用来指定排序的顺序(升序或降序)。默认升序。

sorted()函数的返回值

sorted()函数返回一个新的排序后的列表。

默认按照升序排序

我们首先来看一个简单的例子,如下所示:

>>> a = [3, 2, 1]

>>> b = sorted(a)

>>> print(b)

输出结果为:

[1, 2, 3]

可以看到,sorted()函数返回一个升序排序的新列表<b>。</b>

按照降序排序

如果我们想要按照降序排序,只需将reverse参数设为True即可,例如:

>>> a = [3, 2, 1]

>>> b = sorted(a, reverse=True)

>>> print(b)

输出结果为:

[3, 2, 1]

可以看到,现在的排序结果是降序的。

按照字典的值排序

除了按照默认的规则进行排序,我们还可以按照自定义的规则进行排序。例如,我们可以对字典的值进行排序,代码如下:

>>> d = {'cat': 1, 'bird': 3, 'dog': 2}

>>> sorted_d = sorted(d.items(), key=lambda x: x[1])

>>> print(sorted_d)

输出结果为:

[('cat', 1), ('dog', 2), ('bird', 3)]

可以看到,我们将字典转换成了一个元组的列表,然后按照元组的第二项(即字典的值)进行排序,得到了一个按照字典的值排序的新列表。

按照字符串的长度排序

我们还可以使用sorted()函数对字符串的长度进行排序。例如,我们可以对一个字符串列表按照字符串长度进行排序,代码如下:

>>> words = ['Python', 'C++', 'Java', 'JavaScript', 'R']

>>> sorted_words = sorted(words, key=lambda x: len(x))

>>> print(sorted_words)

输出结果为:

['R', 'C++', 'Java', 'Python', 'JavaScript']

可以看到,我们将words列表按照字符串长度进行排序,得到了一个新的按照字符串长度排序的列表。

结语

Python中的sorted()函数是一个非常有用的函数,在对列表进行排序时常被用到。通过本文的介绍,相信大家已经了解了如何使用sorted()函数进行排序了。需要注意的是,sorted()函数返回的是一个新的列表,原列表不会改变。