python列表成绩排序
时间: 2023-05-15 13:02:35 浏览: 112
成绩排序(python)
5星 · 资源好评率100%
Python中有多种排序方法,包括sorted()、sort()和numpy.sort()等等。对于列表成绩排序,我们可以使用sorted()方法来实现。
例如,我们有一个包含学生数学、语文和英语成绩的列表如下:
```python
grades = [("Alice", 80, 90, 95),
("Bob", 75, 85, 80),
("Cathy", 90, 95, 100),
("David", 80, 90, 95)]
```
我们可以使用sorted()方法按照总成绩从大到小排序,代码如下:
```python
sorted_grades = sorted(grades, key=lambda x: sum(x[1:]), reverse=True)
```
这里我们使用了key参数,传入一个函数lambda x: sum(x[1:]),它的作用是传入元组x,计算出除了姓名外的总成绩,然后按照总成绩进行排序。reverse参数设为True表示从大到小排序,设为False则是从小到大排序。最终得到的sorted_grades列表如下:
```python
[('Cathy', 90, 95, 100),
('Alice', 80, 90, 95),
('David', 80, 90, 95),
('Bob', 75, 85, 80)]
```
这个排序方法同时也适用于其他类型的列表排序,只需要根据实际情况修改key函数即可。
阅读全文