详解Python 运用过滤器

  • Post category:Python

Python中的过滤器(Filter)用于返回一个根据给定函数对序列进行筛选后的可迭代对象。 过滤器函数必须返回一个Boolean类型的值,即True或False来决定是否保留该元素。

以下是Python中使用过滤器的基本语法:

filter(function, iterable)

其中,function是用来筛选序列的函数,它的返回值为True或False;iterable则是一个序列,例如列表、元组、集合等等。过滤器返回的结果是一个可迭代对象,其中包含已通过函数筛选的元素。

下面是两个示例:

示例1:过滤出偶数

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 ==0, numbers))
print(even_numbers)

输出结果:

[2, 4, 6, 8, 10]

这个示例使用了lambda表达式,它输入一个参数x,对这个参数进行判断,判断这个数是否是偶数,如果是就返回True,否则返回False。

示例2:过滤出长度大于5的字符串

words = ['apple', 'banana', 'pear', 'orange', 'grape']
long_words = list(filter(lambda x: len(x) > 5, words))
print(long_words)

输出结果:

['banana', 'orange']

这个示例中,我们直接使用了len()函数来判断字符串的长度是否大于5,如果是,则返回True,否则返回False。

总结一下,使用过滤器可以方便地筛选列表之类的数据类型,可以帮助我们快速地得到符合条件的结果,同时也可以让代码更加简洁易懂。