## Python-排序列表
## 按字母顺序排序列表
列表对象的`sort()`方法默认情况下将按字母数字顺序对列表进行升序排列。
示例,按字母顺序对列表进行排序:
```
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
```
示例,对列表进行数字排序:
```
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
```
*****
## 降序排列
要对降序进行排序,请使用关键字参数`reverse = True`:
示例,降序排序列表:
```
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
```
示例,降序排序列表:
```
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
```
*****
## 自定义排序功能
您还可以使用关键字arguments来定制自己的函数。`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)
```