Python中的filter()函数及其功能介绍
发布时间:2023-06-10 04:23:27
Python中的filter()函数是一种内置函数,它可以根据给定的函数对数据集进行过滤,并返回符合条件的结果。在Python中,它是一个高阶函数,可以接受一个可迭代的数据集和一个返回值为布尔型的函数。该函数的功能是对数据集进行过滤,只返回符合调节的元素。
filter()函数的语法格式如下:
filter(function, iterable)
其中,function是过滤函数,用于对iterable中的每个元素进行判断,返回True或False;iterable是可迭代的对象,可以是列表、元组等。filter()函数的返回值是一个filter类型的对象,也是一个可迭代的对象。
例1:对列表进行过滤,筛选所有的偶数
def is_even(num):
if num%2 == 0:
return True
else:
return False
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = filter(is_even, lst)
print(list(result))
执行结果:
[2, 4, 6, 8, 10]
例2:对元组进行过滤,返回元素大于0的元素
def greater_than_zero(num):
if num > 0:
return True
else:
return False
tup = (-2, -1, 0, 1, 2, 3, 4, 5, 6, 7)
result = filter(greater_than_zero, tup)
print(tuple(result))
执行结果:
(1, 2, 3, 4, 5, 6, 7)
例3:使用lambda函数进行过滤,筛选所有长度大于3的字符串
lst = ["hello", "world", "python", "is", "awesome"] result = filter(lambda x: len(x)>3, lst) print(list(result))
执行结果:
['hello', 'world', 'python', 'awesome']
在以上三个例子中,filter()函数都是使用一个函数或lambda函数对iterable进行过滤,只返回符合条件的元素。通过filter()函数,我们可以对数据集进行高效且灵活的筛选操作,方便地获得我们想要的结果。
