python假设我们用元组表示学生名字和成绩,不同的元组放在一起构成- -个成绩列表Scores,请设 计两个函数,分别按名字和成绩排序。
时间: 2024-04-30 08:20:23 浏览: 150
用数组输出学生成绩信息
可以使用 Python 的内置函数 `sorted()` 来对列表中的元素进行排序,其中可以指定按照元素的某个属性进行排序。对于一个包含学生名字和成绩的元组,可以通过指定元组的第一个或第二个元素来进行排序。
按名字排序的函数可以这样实现:
```python
def sort_by_name(scores):
return sorted(scores, key=lambda x: x[0])
```
按成绩排序的函数可以这样实现:
```python
def sort_by_score(scores):
return sorted(scores, key=lambda x: x[1])
```
其中 `key` 参数指定按照元组的第一个或第二个元素进行排序,`lambda` 表达式用来提取元组的某个元素作为排序关键字。
使用示例:
```python
scores = [('Alice', 90), ('Bob', 80), ('Charlie', 95), ('David', 85)]
print(sort_by_name(scores))
print(sort_by_score(scores))
```
输出结果:
```
[('Alice', 90), ('Bob', 80), ('Charlie', 95), ('David', 85)]
[('Bob', 80), ('David', 85), ('Alice', 90), ('Charlie', 95)]
```
第一个函数按名字排序,第二个函数按成绩排序。
阅读全文