Python中的filter()函数简介

filter()是Python的一个内建函数,主要用于过滤序列中的项。这个函数接受一个函数和一个序列作为参数,并返回一个新的序列,其中包含使该函数返回True的所有项。

基本语法

filter(function, sequence)
  • function: 返回TrueFalse的函数。
  • sequence: 要过滤的序列。

使用filter()过滤数据的示例

1. 过滤掉列表中的奇数

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

2. 过滤出字符串列表中长度超过5的字符串

words = ['apple', 'banana', 'cherry', 'date', 'fig', 'grape']
long_words = list(filter(lambda x: len(x) > 5, words))
print(long_words)  # 输出: ['banana', 'cherry']

3. 过滤出列表中非空的字符串

strings = ['apple', '', 'banana', '', 'cherry']
non_empty_strings = list(filter(lambda x: bool(x), strings))
print(non_empty_strings)  # 输出: ['apple', 'banana', 'cherry']

注意,filter()函数返回的是一个迭代器。在上述示例中,使用了list()函数将其转换为列表,以便于查看和使用。


希望此文章能帮助您更好地理解和使用Python中的filter()函数。