# Python Lambda > 原文: [https://pythonspot.com/python-lambda/](https://pythonspot.com/python-lambda/) 我们可以创建匿名函数,称为 lambda 函数。 Lambda 函数与常规 Python 函数不同,它们源自 Lambda 演算。 它允许您编写非常简短的函数。 ## Lambda 函数示例 此代码显示 lambda 函数的用法: ```py #!/usr/bin/env python f = lambda x : 2 * x print f(3) ``` Lambda 函数从不使用`return`语句,它总是返回。 Lambda 函数可能包含`if`语句: ```py #!/usr/bin/env python f = lambda x: x > 10 print(f(2)) print(f(12)) ``` ## `map`函数 `map`的定义是`map(function, iterable)`。它将函数应用于可迭代对象的每个项目。我们可以对列表和 lambda 函数使用`map()`: ```py #!/usr/bin/env python list = [1,2,3,4,5] squaredList = map(lambda x: x*x, list) print(squaredList) ``` 在使用 lambda 函数的任何地方,都可以改用普通函数。 Lambda 函数不是语句,而是表达式。 Lambda 函数不支持语句块。 ## `filter`函数 `filter(function, iterable)`从元素中创建一个新列表,该函数为其返回`True`。例: ```py #!/usr/bin/env python list = [1,2,3,4,5,6,7,8,9,10] newList = filter(lambda x: x % 2 == 0, list) print(newList) ``` 返回列表只包含 lambda 表达式`lamba x: x % 2 == 0`为真的元素。 ## `reduce`函数 函数`reduce(function, iterable)`从左到右将函数应用在`iterable`的各个项目上。 例: ```py #!/usr/bin/env python list = [1,2,3,4,5] s = reduce(lambda x,y: x+y, list) print(s) ``` 在这种情况下,表达式始终为真,因此它简单地汇总了列表中的元素。 另一个例子: ```py #!/usr/bin/env python list = [10,6,7,5,2,1,8,5] s = reduce(lambda x,y: x if (x > y) else y, list) print(s) ```