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)
自己尝试 »