现有如下一个字典存放学生的学号和三门课程的成绩 用python编程返回每个学生的学号和最高分
时间: 2023-05-30 09:02:47 浏览: 760
假设给定的字典如下:
```python
scores = {"001": [90, 95, 88], "002": [85, 92, 96], "003": [78, 85, 90]}
```
可以使用以下代码实现返回每个学生的学号和最高分:
```python
for student_id, score_list in scores.items():
max_score = max(score_list)
print("学生{}的最高分是{}".format(student_id, max_score))
```
输出结果为:
```
学生001的最高分是95
学生002的最高分是96
学生003的最高分是90
```
如果想要将学号和最高分存储到一个新的字典中,可以使用以下代码:
```python
max_scores = {}
for student_id, score_list in scores.items():
max_score = max(score_list)
max_scores[student_id] = max_score
print(max_scores)
```
输出结果为:
```python
{'001': 95, '002': 96, '003': 90}
```
注意:如果有多个成绩相同的最高分,上述代码只返回其中一个最高分。如果需要返回所有最高分,可以使用以下代码:
```python
max_scores = {}
for student_id, score_list in scores.items():
max_score = max(score_list)
max_scores[student_id] = [i for i, x in enumerate(score_list) if x == max_score]
print(max_scores)
```
输出结果为:
```python
{'001': [1], '002': [2], '003': [2]}
```
其中,每个学生的最高分在字典中对应一个列表,列表中存储的是最高分所在的位置(从0开始)。例如,学生001的最高分是95,在其对应的列表中,95所在的位置是1。
阅读全文