Python中的Filter函数使用及例子
发布时间:2023-07-01 06:45:02
Python中的filter函数是一个内建的函数,用于筛选序列中的元素,返回一个经过筛选的新序列。
filter的使用方法是filter(function, sequence),其中function是一个用于判断的函数,sequence是要进行筛选的序列。
function可以是一个自定义的函数,也可以是一个lambda函数。它接受一个参数,并返回一个布尔值,用于判断该参数是否保留在结果中。如果返回True,则保留该元素;如果返回False,则过滤掉该元素。
下面是filter函数的使用示例:
示例1:使用自定义函数进行过滤
# 定义一个函数,判断一个数是否是偶数
def is_even(n):
return n % 2 == 0
# 使用filter函数过滤列表中的偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_numbers = filter(is_even, numbers)
# 打印过滤后的结果
print(list(filtered_numbers)) # 输出 [2, 4, 6, 8, 10]
示例2:使用lambda函数进行过滤
# 使用lambda函数过滤列表中的奇数 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] filtered_numbers = filter(lambda x: x % 2 != 0, numbers) # 打印过滤后的结果 print(list(filtered_numbers)) # 输出 [1, 3, 5, 7, 9]
示例3:过滤字符串列表中的空字符串
# 使用lambda函数过滤列表中的空字符串 strings = ['', 'hello', '', 'world', ''] filtered_strings = filter(lambda x: x != '', strings) # 打印过滤后的结果 print(list(filtered_strings)) # 输出 ['hello', 'world']
从上面的示例可以看出,filter函数可以方便地筛选出符合条件的元素,非常实用。在实际编程中,我们可以根据自己的需求定义不同的判断条件,并使用filter函数对序列进行灵活的过滤。
