Python - 列表排序
按字母数字顺序对列表进行排序
列表对象有一个 sort() 方法,默认情况下会按字母数字升序对列表进行排序:
示例
按字母顺序对列表进行排序:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
亲自试一试 »
降序排序
要按降序排序,请使用关键字参数 `reverse = True`:
示例
按降序对列表进行排序:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
亲自试一试 »
自定义排序函数
您还可以使用关键字参数 `key = function` 自定义排序函数。
该函数将返回一个数字,用于对列表进行排序(从小到大):
示例
根据数字与 50 的接近程度对列表进行排序:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
亲自试一试 »
不区分大小写排序
默认情况下,sort() 方法是区分大小写的,导致所有大写字母都排在小写字母之前:
示例
区分大小写的排序可能会导致意想不到的结果:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
亲自试一试 »
幸运的是,我们可以使用内置函数作为键函数来对列表进行排序。
因此,如果您想要一个不区分大小写的排序函数,请使用 str.lower 作为键函数:
示例
对列表执行不区分大小写的排序:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
亲自试一试 »
反转顺序
如果要反转列表的顺序,无论字母顺序如何,该怎么办?
`reverse()` 方法可以反转元素的当前排序顺序。
示例
反转列表项的顺序:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
亲自试一试 »

