Skip to content

排序列表

Python 列表有一个内置的 sort() 方法,它使用项之间的 < 比较来原地排序项。

该方法还接受 2 个关键字参数:

  • key 用于指定一个函数,该函数在进行比较之前对每个列表元素调用。
  • reverse 是一个布尔值,指定列表是否按降序排序。
python
>>> l = [34, 4, 6, 23]
>>> l.sort()
>>> l
[4, 6, 23, 34]

>>> l = [34, 4, 6, 23]
>>> l.sort(reverse=True)
>>> l
[34, 23, 6, 4]

>>> l = ["Oh", "Hi", "Py", "ed"]
>>> l.sort()
>>> l
['Hi', 'Oh', 'Py', 'ed']

>>> l = ["Oh", "Hi", "Py", "ed"]
#排序前将单词转换为小写
>>> l.sort(key=str.lower)
>>> l
['ed', 'Hi', 'Oh', 'Py']

如果你不想修改现有列表,而是创建一个包含已排序项的新列表,请使用内置的 sorted() 函数,它返回一个新的已排序列表。

python
>>> l = [34, 4, 6, 23]
>>> new_l = sorted(l)
>>> new_l
[4, 6, 23, 34]