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]