关于sort_key的值需要是函数的问题

原题于评论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)