map,filter

  • map

  • 定义 map(<处理方法/函数>,<可迭代对象>)
  • map 函数指以第一个参数也就是处理方法,处理第二个参数可迭代对象,最终返回一个 iterator ,因为iterator是惰性序列,如果直接输出其结果为其地址,所以通过 list()函数将整个序列都计算出来并返回一个list
  • 在处理可迭代对象时,是将可迭代对象迭代出来然后一个一个带入第一个参数中运算

 

li=[1,2,3,4]
res = map(lamdba x: x + 1, li)
print(res)#输出的是一个地址
print


(list(res)) #输出的是一个序列 ############## print(list(map(str,[1,2]))) ##结果 ['1','2']
  • filter

  • filter(<函数/处理方法>,可迭代对象)
  • 用于过滤序列
  • 和 map 不同的是filter()是根据返回值是True还是Fals决定保留还是丢弃该元素,True保留Fals丢弃

注:

  filter()关键在于筛选,最后返回的也是Iterator 惰性序列

#保留偶数 li = [1,2,3,4,5,6] print(list(filter(lamdba x: x%2==0,li))) ###结果 [2,4,6]

posted @ 2018-07-17 22:04  ShanCe-刘勇  阅读(185)  评论(0编辑  收藏  举报