从语义上说:
print sorted(student_tuples, key=lambda student: student[2])
与此相同:
def sort_key(student): return student[2]print sorted(student_tuples, key=sort_key)
lambda只是为函数定义提供了另一种语法。结果是一个函数对象,就像由创建的对象一样
def。但是,有些
lambda功能是功能无法完成的,例如定义新变量。它们非常适合(取决于您要问的人)创建较小的一次性功能,例如此功能。
一旦了解了这一点,那么您所要做的就是
key接受一个函数,在传递给的序列中的每个值上调用该函数
sorted,并根据
key如果对它们自己排序的相应值所采用的顺序对这些值进行排序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)