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]