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)
自己动手试一试 »