在Python中,filter()
函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该函数接收两个参数,一个是函数,一个是序列,序列的每个元素作为参数传递给函数进行判定,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
函数的语法如下:
filter(function, iterable)
function
:一个函数,用于测试每个元素。iterable
:一个可迭代对象,用于从中获取元素。
filter()
函数返回一个迭代器,包含通过测试的元素。如果你需要得到一个列表,你可以使用list()
函数来转换迭代器。
以下是一个简单的示例:
# 定义一个函数,用于检查一个数是否是偶数
def is_even(num):
return num % 2 == 0
# 创建一个包含数字的列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 使用filter函数过滤出偶数
even_numbers = filter(is_even, numbers)
# 将结果转换为列表
even_numbers_list = list(even_numbers)
print(even_numbers_list) # 输出: [2, 4, 6, 8, 10]
在这个例子中,我们定义了一个函数is_even()
,用于检查一个数是否是偶数。然后,我们创建了一个包含数字的列表numbers
。接下来,我们使用filter()
函数和is_even()
函数来过滤出列表中的偶数。最后,我们使用list()
函数将结果转换为列表,并打印出来。