python filter函数的返回值是什么

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函数的返回值,同时掌握了过滤序列数据的方法,学会的赶紧也动手试试吧。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。