lambda函数有何用处?

时间:2019-03-22 13:45:00

标签: python python-3.x function lambda

目前,我正在学习Python 3中的lambda函数。 到目前为止,我对lambda函数的了解仅是一个匿名函数,它可以接受任意数量的参数,但只能包含一个表达式。

所以我的问题是,如果我们可以使用正则表达式执行相同的操作,为什么还要使用lambda函数。我的意思是引入lambda函数的真正目的是什么?

2 个答案:

答案 0 :(得分:1)

有时候您需要一个非常简单的功能来一次性使用,例如作为参数传递给.sort(),以告诉它如何进行排序。例如。如果要对元组的第二个元素列表进行排序,

list_of_tuples.sort(key=lambda t: t[1])

相比,

非常简洁

def first_element(t):
    return t[1]

list_of_tuples(key=first_element)

仅此而已。

答案 1 :(得分:0)

我很少使用随机函数,但是我不喜欢引入命名函数只是用作key中的sort。我更喜欢

lst = (('s', 5), ('b', 2), ('h', 3))
srt = sorted(lst, key=lambda x: x[1])

def sort_by(x):
    return x[1]

srt = sorted(lst, key=sort_by)