已知六位同学的成绩:scores=["张:85","李: 86","王: 92","赵:78","钱:73","马:98"]使用列表生成器与匿名函数生成一个新的列表,这个列表显示高于平均成绩的同学的名字。
时间: 2024-12-03 15:10:25 浏览: 9
Spring实战之使用util:命名空间简化配置操作示例
要使用列表生成器和匿名函数(也称为lambda函数)来完成这个任务,首先我们需要计算所有成绩的平均值,然后找出哪些分数高于平均值,并将对应的姓名加入新列表。以下是Python代码示例:
```python
scores = ["张:85", "李:86", "王:92", "赵:78", "钱:73", "马:98"]
# 解析成绩字符串并转换成元组(name, score)
score_list = [(name.split(':')[0], int(score.split(':')[1])) for name, score in map(str.split, scores)]
# 计算平均成绩
average_score = sum(score for _, score in score_list) / len(score_list)
# 使用列表生成器和匿名函数过滤出高于平均分的学生
result = [name for name, score in score_list if score > average_score]
# 输出结果
print(result)
```
阅读全文