pin_drop当前位置:知识文库 ❯ 图文
Python lambda表达式 - 匿名函数
概述
lambda表达式是一种创建匿名函数的简洁语法。lambda函数可以接收任意数量的参数,但只能包含一个表达式。lambda常用于排序、过滤等需要简单函数的场景。
语法
代码示例
lambda parameters: expression基本用法
代码示例
square = lambda x: x ** 2
print(square(5))
add = lambda a, b: a + b
print(add(3, 4))与sorted配合使用
代码示例
students = [("Alice", 25), ("Bob", 20), ("Charlie", 23)]
sorted_students = sorted(students, key=lambda x: x[1])
print(sorted_students)与map配合使用
代码示例
nums = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, nums))
print(squared)注意事项
提示:lambda只能包含一个表达式。lambda适合简单的单行函数。复杂逻辑应使用def定义。lambda常用于sorted、map、filter等函数。
小结
-
lambda表达式创建匿名函数
-
只能包含一个表达式
-
适合简单的单行函数
-
常用于sorted、map、filter等场景
练习题
练习1
使用lambda编写一个判断奇偶的函数
练习2
使用lambda和filter找出列表中的所有正数
常见问题
lambda表达式和def定义的函数有什么区别?
lambda是匿名函数,没有函数名,只能包含一个表达式。def定义的函数有名称,可以包含多条语句和复杂的逻辑。lambda适合简单的单行操作,def适合复杂的函数逻辑。
lambda表达式可以有多个参数吗?
可以。lambda可以接收任意数量的参数,包括位置参数、默认参数和关键字参数。例如:lambda a, b, c=10: a + b + c。但只能有一个表达式作为返回值。
什么时候应该使用lambda表达式?
lambda最适合用于sorted、map、filter等需要传递简单函数作为参数的场景。当函数逻辑简单且只使用一次时,使用lambda可以让代码更简洁。复杂逻辑仍应使用def。
lambda表达式可以有文档字符串吗?
lambda表达式不能直接包含文档字符串。如果需要文档说明,应该使用def定义函数。这也是为什么复杂函数应该使用def的原因之一,良好的文档说明对代码维护很重要。
本文涉及AI创作
内容由AI创作,请仔细甄别