python中filter与map不同

python中filter与map不同

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1.定义不同

map是Python的内置函数, 使用的方式如下:

list=map(func,iter)

其中, func是函数, iter是可迭代的序列。

它的功能是:将一个序列中的每一个元素应用传入的函数, 并返回一个包含所有函数调用结果的一个列表

使用方式:

fromcollectionsimportIterable

lst=[1,2,5,6,7]
res=filter(lambdax:x%2==0,lst)
#res是一个可迭代对象
print(isinstance(res,Iterable),type(res))
foriteminres:
print(item)

2.返回结果不同

函数名区别map作用于每个可迭代对象的元素,并返回处理之后的元素filter作用于可迭代内每个元素,根据计算后结果:True保留,Flase去掉

获取列表内所有的整数类型元素

defonly_int(x):
try:
ifisinstance(x,int):
returnTrue
else:
returnFalse
exceptValueErrorase:
returnFalse

dt=filter(type_int,[1,2,3,3,'3232',-34.5,34.5])
>>>list(dt)
[1,2,3,3]
声明:本站所有文章,如无特殊说明或标注,均为爬虫抓取以及网友投稿,版权归原作者所有。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧