原题于评论https://ask.csdn.net/questions/7751642?answer=53837208&username=m0_70680242&utm_medium=notify.im.haveAnswer.a
若key的值要求为函数故自定义函数
def studnet_max(i):
i = max(students(["grade"]))
return
student_sort = sorted(students,key=max(students))
这样找到的直接就是字符串了,找不到值,所以报错
尝试写值
a = max(s, key=lambda x: x['grade']
print(a)
这样只能输出一条,那错的更离谱
用def 的话一般会怎么写?
你好,我是程序员Ada,我猜你是不想用lambda表达式写,或者不理解lambda表达式是什么,那么用普通函数也可以。
students = [
{"sno":101,"name":"小张","grade":88},
{"sno":102,"name":"小王","grade":90},
{"sno":103,"name":"小李","grade":108},
{"sno":104,"name":"小赵","grade":68},
]
def get_sort_key(stu):
return stu['grade']
student_sort = sorted(students,key=get_sort_key)
print(student_sort)