使用Python的filter()函数过滤序列数据
Python中的filter()
函数简介
filter()
是Python的一个内建函数,主要用于过滤序列中的项。这个函数接受一个函数和一个序列作为参数,并返回一个新的序列,其中包含使该函数返回True
的所有项。
基本语法
filter(function, sequence)
function
: 返回True
或False
的函数。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()
函数。