numArray = [1, 2, 3, 4, 5] def ercifang(x): return x ** 2 def map_test(func, numArray): li = [] for i in numArray: li.append(func(i)) return li print(map_test(ercifang, numArray)) print(map_test(lambda x:x**2, numArray)) #python中提供的map函数类似于上边的函数: 第一个参数传入的是处理参数的函数,第二个参数是传入的可迭代对象;map内部会逐个迭代可迭代对象并用传入的函数进行加工, #最后返回一个迭代器,该迭代器自能迭代一次,迭代后会删除迭代器中的内容; #python2中返回的是一个list print(list(map(lambda x:x**2,numArray)))
#filter传入的函数返回值是布尔型 print(list(filter(lambda x:x%2==0,numArray)))
reduce
num_1 = [1, 2, 3, 4, 5] # 需求:将上面列表进行阶乘操作 def mutip(x, y): return x * y def jieCheng(func, numl): res = num_1.pop(0) for i in num_1: res = func(res, i) return res print(jieCheng(mutip,num_1)) #reduce函数 将一个序列通过指定函数汇聚成一个最终值 而且可以指定起始值 #reduce 函数需要先导入 from functools import reduce print(reduce(lambda x,y:x*y,num_1, 2))
大数据中mapReduce概念 说的意思跟python的map reduce是一个意思