Python列表list排序方法
Python排序语法:
```
list.sort(key=function, reverse=boolean)
```
list:列表名称
key=function:列表元素权值参数。可省略的参数,省略时列表排序不考虑元素的权值
reverse=boolean 排序规则参数。可省略的参数,省略时reverse默认值False
使用示例1:
```
sl = ["a", "b", "Ab", "Aa"]
sl.sort()
print(sl)
```
#结果:['A', 'Aa', 'Ab', 'b']
使用示例2:
按集合中城市名的长度排序
```
citys = ['Beijing', 'Xian', 'Taiyuan']
citys.sort(key=len)
print(citys)
```
#使用len函数作为权值,按照字符串长度值从小到大的顺序排列
#结果:["Xian", 'Beijing', 'Taiyuan']
使用示例3:
逆序排序。通过指定参数 reverse 的值来实现。
```
s1 = [3, 1, 2, 9, 23, 13, 6]
s1.sort(reverse=True)
print(s1)
```
#结果: [23, 13, 9, 6, 3, 2, 1]
使用示例4:
自定义排序规则。通过指定参数key来实现,一般通过lambda表达式来实现。
```
students = [
Student('Alice', 20, 85),
Student('Bob', 19, 90),
Student('Charlie', 18, 80),
Student('David', 21, 75),
]
students.sort(key=lambda s: s.age)
for student in students:
print(student.name, student.age, student.grade)
```
#结果:
Charlie 18 80
Bob 19 90
Alice 20 85
David 21 75
我的笔记