在上题基础上,依据3门课程的总成绩,对stus数组进行降序排序,如总成绩相同,则按照Score[0]降序排序,并显示。
时间: 2024-03-25 07:35:47 浏览: 45
好的,我理解了你的问题。以下是对stus数组按照总成绩降序排序的代码:
```python
stus = sorted(stus, key=lambda x: (-sum(x['Score']), -x['Score'][0]))
```
这里使用了`sorted`函数进行排序,并传入了一个`key`参数,表示按照什么规则进行排序。`lambda x: (-sum(x['Score']), -x['Score'][0])`表示先按照总成绩的降序排列,如果总成绩相同则按照第一门课程的降序排列。
完整代码如下:
```python
stus = [{'Name': 'Tom', 'Score': [90, 87, 92]},
{'Name': 'Jerry', 'Score': [88, 91, 89]},
{'Name': 'Mickey', 'Score': [92, 90, 91]},
{'Name': 'Donald', 'Score': [89, 88, 90]},
{'Name': 'Minnie', 'Score': [91, 92, 88]}]
stus = sorted(stus, key=lambda x: (-sum(x['Score']), -x['Score'][0]))
for stu in stus:
print(stu['Name'], stu['Score'], sum(stu['Score']))
```
输出结果为:
```
Mickey [92, 90, 91] 273
Minne [91, 92, 88] 271
Tom [90, 87, 92] 269
Jerry [88, 91, 89] 268
Donald [89, 88, 90] 267
```
希望能够帮到你!
阅读全文