为什么 Python 代码输出是这样的? (涉及 lambda 函数)

Why is the Python code output like this? (lambda function involved)

我找到了一个代码,它根据构成列表的元组中指定的等级对列表的元素进行排序。 我不明白它是如何工作的:不应该在参数数据被引用到学生列表的地方指定? 谢谢

students = [("Squidwaard", "F", 60),
        ("Sandy", "A", 33),
        ("Patrick", "D", 36),
        ("Spongebob", "B", 20),
        ("Mr.Krabs", "C", 78)]

grade = lambda data: data[1]
students.sort(key=grade)

for i in students:
    print(i)

好吧,您确实在代码中指定了。您已经编写了一个函数(匿名)并调用了 students.sort(key=grade) 键的作用是使用给定的函数对其进行排序。因此,您按第一个索引元素排序,即字母等级。希望这对您有所帮助,祝您有愉快的一天!