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的原因之一,良好的文档说明对代码维护很重要。

标签: lambda表达式 匿名函数 sorted排序 Python基础 高阶函数

本文涉及AI创作

内容由AI创作,请仔细甄别

list快速访问

上一篇: Python递归函数 - 阶乘与斐波那契数列 下一篇: Python map()函数 - 高阶函数与数据批量转换

poll相关推荐