📜  Python示例中的 Lambda 和过滤器(1)

📅  最后修改于: 2023-12-03 15:34:31.390000             🧑  作者: Mango

Python示例中的 Lambda 和过滤器

简介

在 Python 中,lambda 函数即匿名函数,也就是没有名字的函数。lambda 函数是一个小的函数,它可以定义在一个语句中,这个语句可以是另一个函数的参数。lambda 函数也称为“函数对象”。除了 lambda,Python 还支持其他类型的函数,如:普通函数、生成器函数、递归函数等等。

过滤器(filter)是 Python 中的一个函数,它可以筛选出列表或其他序列中符合条件的元素,即过滤掉不符合条件的元素。在 Python 中,过滤器函数是为了提高代码的可读性而开发的,它用于对列表或序列进行过滤,将不需要的元素滤掉,只留下需要的元素,而这个过程又被称为“过滤”。

示例程序

下面通过一个示例程序来介绍 lambda 函数和过滤器的使用:

# 使用 lambda 和 filter 函数来筛选出列表中的偶数
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_list = list(filter(lambda x: x % 2 == 0, my_list))
print(new_list)

代码输出:

[2, 4, 6, 8, 10]
代码解析
  • 首先定义了一个名为 my_list 的列表,其中包含了 1 到 10 的所有数字。
  • 使用 lambda x: x % 2 == 0 定义了一个匿名函数,这个函数用来判断一个数字是否为偶数。如果这个数字能够被 2 整除,那么它就是偶数,否则它就不是偶数。
  • 然后使用 filter 函数对列表 my_list 进行过滤。filter 函数的作用是从一个序列中过滤出符合条件的元素,它接收两个参数:一个是函数(用来对序列进行操作),一个是序列。
  • 在本示例中,filter 函数接收的第一个参数是一个匿名函数:lambda x: x % 2 == 0。这个函数用来筛选出偶数。第二个参数则是要进行筛选的序列:my_list
  • filter 函数返回的是一个可迭代的对象,在使用之前需要将其转换为列表。我们使用 list 函数来进行转换。
  • 最后输出过滤后的列表:[2, 4, 6, 8, 10]
总结

本文介绍了 Python 中的 lambda 函数和过滤器,以及它们的使用方法。lambda 函数是一种简单的函数形式,它可以定义在一个语句中,完全可以替代一个常规的函数。过滤器是一个特殊的函数,用于过滤列表或序列中的元素,并返回一个新的列表。使用 lambda 和 filter 函数,可以很容易地筛选出列表中符合条件的元素。