Python 列表 sort() 方法



Python 列表 **sort()** 方法默认情况下会将列表中的对象按升序排列。

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

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

语法

以下是 Python 列表 **sort()** 方法的语法:

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

参数

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

返回值

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

示例

以下示例演示了 Python 列表 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']
python_lists.htm
广告