Python教程:sorted()排序详解
在本篇文章中,我们将详细解释Python中sorted()函数的用法,该函数用于对列表(list)进行排序。虽然说简单也简单,说复杂也复杂,但是一开始学习时可能会感到困惑。因此,我通过积累经验并阅读英
在本篇文章中,我们将详细解释Python中sorted()函数的用法,该函数用于对列表(list)进行排序。虽然说简单也简单,说复杂也复杂,但是一开始学习时可能会感到困惑。因此,我通过积累经验并阅读英文文章来理解该函数,并将我的经验分享给大家。
普通列表排序
首先,让我们通过例子来说明sorted()函数的具体用法。假设我们有一个列表a,我们可以直接使用sorted()方法对其进行排序,返回一个已排序的新列表b。
a [4, 2, 1, 3]
b sorted(a)
print(b) 输出结果为[1, 2, 3, 4]
基于元组的列表排序
如果列表a是由元组构成的列表,情况就会变得复杂一些。这时候,我们需要使用参数key来指定排序的关键词。以下是一个示例命令:
a [(1, 3), (2, 1), (3, 2)]
b sorted(a, keylambda a_tuple: a_tuple[0])
print(b) 输出结果为[(1, 3), (2, 1), (3, 2)]
在上述命令中,lambda是一个匿名函数,是固定写法,不要更改。a_tuple表示列表中的一个元素,即一个元组。a_tuple只是临时起的一个名字,你可以使用任意的名字。a_tuple[0]表示元组里的第一个元素,同理a_tuple[1]表示第二个元素。因此,该命令的意思是按照列表中元组里的第一个元素进行排序。
使用cmp参数进行元组排序
除了使用key参数实现元组排序外,还可以使用cmp参数。以下是一个示例命令:
a [(1, 3), (2, 1), (3, 2)]
b sorted(a, cmplambda x, y: x[1] - y[1])
print(b) 输出结果为[(2, 1), (3, 2), (1, 3)]
上述命令中,我们使用了x和y两个元组作为临时变量,你可以任意更改这些变量名。x[1]表示第一个元组的第二个元素,而y[1]表示第二个元组的第二个元素。cmp()函数用于比较x[1]和y[1]的大小,从而实现排序。
倒序排列
我们还可以使用reverse参数将列表按照倒序排列。以下是一个示例命令:
a [4, 2, 1, 3]
b sorted(a, reverseTrue)
print(b) 输出结果为[4, 3, 2, 1]
如果你现在还不能完全理解这些命令,先记住它们的写法,并多加练习,你自然会懂得更多。在下一篇文章中,我们将介绍另一种更简单的排序方法,请查看链接: