当前位置: 首页 > 图灵资讯 > 行业资讯> python filter函数的返回值是什么

python filter函数的返回值是什么

来源:图灵python
时间: 2024-10-09 14:26:34

1.说明

filter()函数用于过滤序列,它会过滤掉不合格的数据,留下合格的数据,filter函数返回的结果是可迭代对象。

它之所以被称为高级语法,是因为它不容易正确理解和使用,而且必须与之合作lambda表达式。

2.语法

filter(function,iterable)

3.参数

function -- 判断函数。

iterable -- 可迭代对象。

4.返回值

返回列表。

5.实例

fromcollectionsimportIterable

deffunc(x):
print("接收参数"+str(x))
returnx%2==0

lst=[1,2,5,6,7]
res=filter(func,lst)
#res是一个可迭代对象
print(isinstance(res,Iterable),type(res))

foriteminres:
print(item)

filter函数的返回值是一个可迭代的对象,这是关键,这就是为什么我说filter函数是高级语法。

为什么不返回列表?,如果列表返回,则在在filter函数执行过程中,必须对列表中的每个数据进行2取模操作,这是浪费空间。因此,filter在实现过程中采用迭代器技术,将计算延迟到filter函数返回结果的通过。

通过本文的研究,我们发现了filter函数的返回值,并掌握了过滤序列数据的方法。

(推荐操作系统:windows7系统Python 3.9.1,DELL G3电脑。)