Python元组排序语法意义(lambda的目的)

时间:2018-04-16 04:17:40

标签: python lambda tuples

有人可以解释 lambda 在这种排序元组格式中的重要性吗?此外,这种排序方法的每个元素到底意味着什么?

sorted(authorlist, key = lambda tup: tup[0], reverse = True)

我知道反向= True允许元组列表按降序排序,tup[0]表示要排序的索引,第一个参数是元组/列表,但key = lambda是什么意思,为什么元组称为tup

谢谢!

1 个答案:

答案 0 :(得分:0)

lambda只是一个语法快捷方式,可以将函数作为参数放置,而无需在上面的行中明确定义它。 Lambdas受限制Lambdas仅限于单个表达式。因此,对于更长的功能,您必须单独定义它们

上面的代码可以重写为

def getKey():
   return tup[0]

sorted(authorlist, key = getKey, reverse = True)

此代码在功能上与您在问题中发布的代码相同。 lambda的目的是从你正在排序的元组中提取第一个字段。