欢迎访问宙启技术站
智能推送

Python如何编写匿名函数?

发布时间:2023-05-23 19:23:42

Python中可以使用lambda关键字来编写匿名函数。lambda函数是一个小巧的函数,通常只包含一个表达式。这种函数是一种快速定义单行函数的方式,不需要使用def关键字和函数名来定义函数。lambda函数返回一个函数对象,可以将其分配给变量,也可以直接调用它。

语法:

lambda arguments: expression

其中,arguments为参数列表,expression为包含在lambda函数中的计算或表达式。这个函数没有名称,因此称为匿名函数。

示例:

1. lambda函数作为简单的加法函数

add = lambda x, y: x + y
print(add(2, 3))  # 输出 5

上述代码中,lambda函数接受两个参数x和y,并返回它们的和。将lambda函数赋值给变量add,并在后续代码中通过调用add来使用该函数。

2. lambda函数作为列表排序函数

students = [('Tom', 90), ('Mary', 80), ('John', 95)]
students.sort(key=lambda x: x[1], reverse=True)
print(students)
# 输出 [('John', 95), ('Tom', 90), ('Mary', 80)]

上述代码中,lambda函数作为sort函数的key参数,对学生成绩进行降序排序。

3. lambda函数作为匿名函数嵌套

g = lambda x: (lambda y: x + y)
print(g(2)(3))  # 输出 5

上述代码中,g函数返回一个lambda函数,该lambda函数接受参数y并返回x + y。在调用g函数时,首先传递参数2,得到一个新的lambda函数,再传递参数3,得到结果5。

总结:

lambda函数是Python中的一种快速创建匿名函数的方式。它可以包含任意数量的参数,并在一个表达式中计算结果。可以将lambda函数分配给变量,也可以直接调用匿名函数。在一些特定的场合下,lambda函数特别方便,例如排序、映射、过滤等高阶函数中的回调函数。