MST

星途 面试题库

面试题:Python高阶函数的嵌套与lambda表达式的复杂运用

假设有一个列表,其中每个元素是一个字典,字典包含'name'(字符串类型)和'score'(整数类型)两个键值对。例如:students = [{'name': 'Alice','score': 85}, {'name': 'Bob','score': 70}, {'name': 'Charlie','score': 90}]。请使用高阶函数和lambda表达式,先按照'score'对列表进行降序排序,然后使用map函数为每个学生添加一个新的键值对'grade','grade'的值根据'score'判断:90及以上为'A',80 - 89为'B',70 - 79为'C',60 - 69为'D',60以下为'E'。最后返回处理后的列表。请给出完整代码。
23.2万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
students = [{'name': 'Alice','score': 85}, {'name': 'Bob','score': 70}, {'name': 'Charlie','score': 90}]

students.sort(key=lambda x: x['score'], reverse=True)

students = list(map(lambda x: {**x, 'grade': 'A' if x['score'] >= 90 else 'B' if 80 <= x['score'] < 90 else 'C' if 70 <= x['score'] < 80 else 'D' if 60 <= x['score'] < 70 else 'E'}, students))

print(students)