1 基本介绍
在 Python 中,lambda
函数是一个小型的匿名函数,可以接收任意数量的参数。lambda
函数常在需要临时一个简单函数而不想用 def
关键字定义一个完整的函数时使用.
2 基本用法
lambda 函数的基本语法如下:
lambda arguments: expression
试定义一个简单的 lambda 函数:
f = lambda x: x * 2
print(f(5)) # 输出 10
3 高级用法
3.1 带多个参数的 lambda 函数
add = lambda x, y: x + y
print(add(3, 4)) # 输出 7
3.2 在 map
函数中使用 lambda 函数
numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x**2, numbers)
print(list(squared)) # 输出 [1, 4, 9, 16, 25]
3.3 在 filter
函数中使用 lambda 函数
numbers = [1, 2, 3, 4, 5]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers)) # 输出 [2, 4]
3.4 在 sorted
函数中使用 lambda 函数进行自定义排序
words = ['apple', 'banana', 'cherry']
sorted_words = sorted(words, key=lambda word: len(word))
print(sorted_words) # 输出 ['apple', 'cherry', 'banana']
4 注
· lambda 函数没有名字,因此它们也称为匿名函数.
· lambda 函数主要用于短小的函数或临时使用的函数,不应用于复杂逻辑或大量代码的情况.
· lambda 函数不包含 return
语句,因为函数体只有一个表达式,该表达式的值会被返回.
· lambda 函数在某些情况下可以提供简洁的代码,但也要注意不要过度使用,以免降低代码的可读性. 在需要定义复杂函数逻辑的情况下,使用 def
关键字定义标准函数是更好的选择.
· lambda 函数使用时会创建一个实现函数接口的对象。如果频繁使用 lambda 函数,可能会导致大量的对象创建和销毁,从而增加垃圾回收的压力。在高性能的场景中,过度使用 lambda 函数可能会影响性能.
· 在复现本文的代码时,如果遇到问题,欢迎私信或评论区联系作者.