Python filter()函数

Python filter()函数

Python filter()函数

在Python中,filter()函数用于过滤序列的元素,返回一个由符合条件的元素组成的新列表。filter()接受一个函数和一个序列作为参数,将序列中每个元素传递给函数进行判断,最终返回符合条件的元素组成的新列表。

语法

filter(function, iterable)
Python
  • function: 用于筛选元素的函数,返回值为True或False。
  • iterable: 需要过滤的可迭代对象。

示例

筛选出正数

下面这个示例演示了如何使用filter()函数筛选出一个列表中的正数。

def is_positive(x):
    return x > 0

numbers = [-2, 3, 5, -1, 0, 9]
positive_numbers = list(filter(is_positive, numbers))

print(positive_numbers)
Python

运行结果:

[3, 5, 9]
Python

筛选出偶数

下面这个示例演示了如何使用lambda表达式和filter()函数筛选出一个列表中的偶数。

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

print(even_numbers)
Python

运行结果:

[2, 4, 6, 8, 10]
Python

去除空字符串

下面这个示例演示了如何使用filter()函数去除一个字符串列表中的空字符串。

def not_empty(s):
    return s and s.strip()

strings = ['hello', '', 'world', ' ', 'python', '']
non_empty_strings = list(filter(not_empty, strings))

print(non_empty_strings)
Python

运行结果:

['hello', 'world', 'python']
Python

筛选出长度大于等于5的字符串

下面这个示例演示了如何使用filter()函数筛选出一个字符串列表中长度大于等于5的字符串。

strings = ['apple', 'banana', 'carrot', 'kiwi', 'pear']
long_strings = list(filter(lambda s: len(s) >= 5, strings))

print(long_strings)
Python

运行结果:

['apple', 'banana', 'carrot']
Python

总结

通过本文的介绍和示例,你应该已经了解了Python中filter()函数的用法和基本语法。filter()函数是一个很有用的工具,能够帮助我们轻松地筛选出符合条件的元素,让代码更加简洁和优雅。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册