# Python Lambda

> 原文： [https://pythonspot.com/python-lambda/](https://pythonspot.com/python-lambda/)

我们可以创建匿名函数，称为 lambda 函数。 Lambda 函数与常规 Python 函数不同，它们源自 Lambda 微积分。 它允许您编写非常简短的函数。

## Related Courses:


*   [Python 编程训练营：从零变成英雄](https://gum.co/dcsp)

## 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))

```

## 地图功能

The definition of map is map(function,iterable). It applies a function to every item in the iteratable. We can use map() to on a lambda function with a list:

```py
#!/usr/bin/env python

list = [1,2,3,4,5]
squaredList = map(lambda x: x*x, list)
print(squaredList)

```

在使用 lambda 函数的任何地方，都可以改用普通函数。 Lambda 函数不是语句，而是表达式。 Lambda 函数不支持语句块。

## 过滤功能

filter(function,iterable) creates a new list from the elmeents for which the function returns True. Example:

```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”为真的元素。

## 减少功能

The reduce function, reduce(function, iterable) applies two arguments cumulatively to the items of iterable, from left to right. Example:

```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)

```