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)))

map,reduce和filter函数-LMLPHP

#filter传入的函数返回值是布尔型
print(list(filter(lambda x:x%2==0,numArray)))

  map,reduce和filter函数-LMLPHP

reduce

map,reduce和filter函数-LMLPHP

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是一个意思

05-11 00:49