📜  Python filter()函数(1)

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

Python filter()函数

Python中的filter()函数是一个内置函数,用于从给定的可迭代对象中筛选出符合条件的元素。filter()函数需要两个参数,一个是函数,另一个是可迭代对象。函数接受一个参数并返回一个布尔值,表示该参数是否符合过滤条件。filter()函数将可迭代对象中的每个元素传递给函数进行过滤,结果将返回一个新的可迭代对象,其中包含符合条件的元素。

语法
filter(function, iterable)

参数说明:

  • function:过滤函数,每个元素都会作为参数传递给这个函数。
  • iterable:可迭代对象,可以是任何可迭代的序列,包括列表、元组、字典、集合等。
示例

假设有一个列表,里面是一些数字:

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

现在想要筛选出其中的奇数,可以使用filter()函数:

odd_numbers = list(filter(lambda x: x % 2 == 1, my_list))
print(odd_numbers)

输出结果为:

[1, 3, 5, 7, 9]

在上述示例中,我们使用lambda表达式定义了一个匿名函数,该函数判断一个数字是否为奇数。filter()函数将my_list中的每个元素传递给该函数进行判断,如果返回的结果为True,则将该元素添加到新的列表odd_numbers中。

注意事项
  • filter()函数返回的是一个迭代器对象,如果需要使用列表对象,需要使用list()函数进行转换。
  • 过滤函数可以是任意函数,不一定是lambda表达式。
  • 可迭代对象可以是任何可迭代的序列,包括列表、元组、字典、集合等。
  • 如果过滤函数返回的结果是空的,那么filter()函数将返回一个空集合。
  • 过滤函数必须接受一个参数,否则会报TypeError错误。