这个lambda函数的例子如何工作?

时间:2015-04-21 19:53:23

标签: python lambda

我正在学习Python中的lambdas,但我不明白这个例子中发生了什么。

有人能用简单的英语解释这里发生了什么吗?这个例子说它是“传递一个小函数作为参数”,但我不明白这意味着什么。

>>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
>>> pairs.sort(key=lambda pair: pair[1])
>>> pairs
[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]

1 个答案:

答案 0 :(得分:9)

您根据某个sort使用lambda expression或匿名函数),key您的元组列表。 pair[1]表示您正在使用每个元组中索引位置1的元素键进行排序(字符串)。使用字符串排序按字母顺序排序,这会导致您看到的输出。

如果您使用每个元组中的第一个元素作为排序key(例如pair[0]),那么您将按递增的数字顺序排序:

>>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
>>> pairs.sort(key=lambda pair: pair[0])
>>> pairs
[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
相关问题