Python - 排序列表
按字母顺序对列表进行排序
列表对象有一个 sort()
方法将默认按字母数字升序对列表进行排序:
例子
按字母顺序对列表进行排序:
thislist = ["橙子", "芒果", "猕猴桃", "菠萝", "香蕉"]
此列表.sort()
打印(此列表)
亲自尝试 »
例子
按数字顺序对列表进行排序:
此列表 = [100, 50, 65, 82, 23]
此列表.sort()
打印(此列表)
亲自尝试 »
降序排序
要降序排序,请使用关键字参数 reverse = True
:
例子
按降序排列列表:
thislist = ["橙子", "芒果", "猕猴桃", "菠萝", "香蕉"]
thislist.sort(reverse = True)
打印(此列表)
亲自尝试 »
例子
按降序排列列表:
此列表 = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
打印(此列表)
亲自尝试 »
自定义排序功能
您还可以使用关键字参数自定义自己的函数 key =function
.
该函数将返回一个数字,用于对列表进行排序(最小的数字在前):
例子
根据数字与 50 的接近程度对列表进行排序:
def myfunc(n):
返回 abs(n - 50)
此列表 = [100, 50, 65, 82, 23]
thislist.sort(key = myfunc)
打印(此列表)
亲自尝试 »
不区分大小写的排序
默认情况下 sort()
方法区分大小写,因此所有大写字母都排在小写字母之前:
例子
区分大小写的排序可能会产生意想不到的结果:
thislist = ["香蕉", "橙子", "猕猴桃", "樱桃"]
此列表.sort()
打印(此列表)
亲自尝试 »
幸运的是,我们可以使用内置函数作为对列表进行排序时的关键函数。
因此,如果您想要不区分大小写的排序函数,请使用 str.lower 作为关键函数:
例子
对列表进行不区分大小写的排序:
thislist = ["香蕉", "橙子", "猕猴桃", "樱桃"]
thislist.sort(key = str.lower)
打印(此列表)
亲自尝试 »
相反的顺序
如果您想反转列表的顺序,而不考虑字母表,该怎么办?
这 reverse()
方法反转元素的当前排序顺序。
例子
反转列表项的顺序:
thislist = ["香蕉", "橙子", "猕猴桃", "樱桃"]
此列表.reverse()
打印(此列表)
亲自尝试 »