python ——filter(),map()函数用法

filter()函数是什么

filter(func, iterable) 

filter接收的是可迭代对象中的每个元素作为func的参数,返回的是bool值,函数中设置的是判断条件

返回的是在bool值为索引为True的元素

示例
#将range(10)以内的偶数过滤掉
a = list(filter(lambda x : x % 2,range(10)))#奇数余2的值为1,bool值为True,filter函数返回此元素
print(a)#[1, 3, 5, 7, 9]

 

map()函数是什么

map(func, iterable) 

map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

示例
#将range(10)以内的数*2保存到新列表
b = list(map(lambda x:x*2,range(10)))
print(b)#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

普通写法

#普通写法
c=[x*2 for x in range(10)]
print(c)

当我们需要用到一一对应的操作时使用map()函数就方便了

#定义两个列表,将两个列表相同位置的值加起来形成新列表
ls1 = [1,2,3]
ls2 = [2,3,4]
d = list(map(lambda x,y:x+y,ls1,ls2))#两个列表相同位置的值形成映射,一一对应
print(d)#[3, 5, 7]

 

 



posted @ 2019-10-12 11:49  陈畅  阅读(782)  评论(0编辑  收藏  举报