面试题答案
一键面试product = lambda a, b: a * b
print(product(3, 5))
lambda表达式在Python中的优点
- 简洁性:适用于简单的单行函数定义,无需使用
def
关键字定义复杂的函数结构,代码更紧凑。例如,在使用sort
方法对列表元素按照特定规则排序时,若规则简单,使用lambda表达式可简化代码。 - 一次性使用:适合仅在一处使用的函数,避免了定义多个具名函数造成的命名空间污染。比如传递给
map
、filter
等高阶函数的函数参数。
适用场景
- 函数式编程:作为
map
、filter
、reduce
(Python 3中需从functools
导入)等函数的参数,实现函数式编程风格。例如map(lambda x: x * 2, [1, 2, 3])
对列表每个元素翻倍。 - 排序和分组:在
sort
、sorted
等排序函数中,使用lambda表达式自定义排序规则。如sorted([(1, 3), (2, 2)], key=lambda x: x[1])
按元组第二个元素排序。 - 临时函数需求:在需要一个临时简单函数的场景,不需要专门定义一个正式的具名函数,提高开发效率。