Python List sort() 方法



默认情况下,Python List sort() 方法按升序排列列表的对象。

要更改这些对象的顺序,此方法采用两个可选参数。它们可以通过以下方式使用 -

  • 默认情况下,reverse 参数保存 “False” 值,因此当它设置为 “True” 时,该方法将按降序排列元素。
  • 默认情况下,key 参数保存 None 值。该方法使用此参数来设置不同于升序或降序的排序标准。设置为 key 参数的值必须始终是一个函数(或其他可调用对象),该函数接受一个参数并返回一个用于排序目的的键。

语法

以下是 Python List sort() 方法的语法 -


 list.sort(*, key=None, reverse=False)

参数

  • key − (可选参数) 默认 key = None。用于确定排序标准的函数。
  • reverse − (可选参数) 默认 reverse = False。如果 reverse = True,则对象按降序排序。

返回值

此方法不返回任何值,但它会从原始列表更改。

以下示例显示了 Python List sort() 方法的用法。在这里,我们默认不传递任何参数来执行该方法。


aList = ['123', 'xyz', 'zara', 'abc', 'xyz']
aList.sort()
print("List : ", aList)

当我们运行上述程序时,它会产生以下结果——

List : ['123', 'abc', 'xyz', 'xyz', 'zara']

如果我们将 reverse 参数作为 True 传递给该方法,则列表将按降序排序。我们可以显示列表来检查结果,因为该方法不返回任何值。


aList = ['123', 'xyz', 'zara', 'abc', 'xyz']
aList.sort(reverse=True)
print("List : ", aList)

当我们运行上面的程序时,输出显示如下 -

List : ['zara', 'xyz', 'xyz', 'abc', '123']

现在,如果我们传递一个将排序条件定义为值给 key 参数的函数,该方法会根据条件对列表进行排序。

在这个例子中,让我们创建一个列表并对其调用 sort() 方法。在这里,我们定义了一个函数,该函数返回列表中存在的字符串对象的第三个元素(或索引 2 处的元素)。此函数作为值传递给 sort() 方法的 key 参数。因此,将比较所有字符串的第三个元素,并按升序或降序对列表中的元素进行排序(如果 reverse 设置为 True)。


def func(key):
	 	 return key[2]

aList = ['123', 'xyz', 'zara', 'abc', 'xyz']
aList.sort(key=func)
print("List : ", aList)

#reverse is set to True
aList.sort(reverse=True, key=func)
print("List : ", aList)
List : ['123', 'abc', 'zara', 'xyz', 'xyz']
List : ['xyz', 'xyz', 'zara', 'abc', '123']