Python 中的 Lambda 和 filter 示例

pythonserver side programmingprogramming

在本教程中,我们将看到 Pythonlambdafilter 函数的不同示例。让我们从分别了解 lambdafilter 表达式和函数开始本教程。

lambda 表达式

lambda 表达式用于简单地编写简单函数。假设我们想找到偶数,那么编写 lambda 表达式将为我们节省时间。

如果您不熟悉 lambda 表达式,请转到 tutorialspoint 的教程部分以更详细地了解它。

filter(func, iter) 函数

filter(func, iter) 接受两个参数,一个是函数,另一个是 iter 变量,它返回我们可以转换为迭代器的过滤器对象。生成的迭代器将包含 func 通过执行函数内部写入的某些操作返回的所有元素。

如果您不熟悉 filter 函数,请转到 tutorialspoint 的教程部分以更详细地了解它。

因此,我们注意到我们可以在 filter(func, iter) 函数中使用 lambda 表达式。让我们看一个从列表中过滤出偶数的示例。

查看预期的输入和输出。

输入:
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
输出:
[2, 4, 6, 8, 10]

让我们按照以下步骤实现所需的输出。

算法

1. 初始化数字列表。
2. 编写一个返回偶数的 lambda 表达式并将其与 iter 一起传递给 filter 函数。
3. 将 filter 对象转换为 iter。
4. 打印结果。

让我们看看代码。

示例

## 初始化列表
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
## 在过滤器函数内编写 lambda 表达式
## 每个元素都将传递给 lambda 表达式,如果满足我们编写的条件,它将返回 true
## 过滤器函数将产生所有返回值并将它们存储在过滤器对象中
## 当我们将过滤器对象转换为 iter 时,它将返回 true 的值
result = filter(lambda x: x % 2 == 0, nums)
## 转换并打印结果
print(list(result))

输出

如果您运行上述程序,您将获得以下输出。

[2, 4, 6, 8, 10]

结论

如果您对本教程有任何疑问,请在评论部分中提及。


相关文章