Python的map()和reduce()函数

map()是Python内置的高阶函数,它接收一个list和一个函数(两个参数),并返回一个新的list

例如:一个list=[1,2,3,4] 现在想把这个list的所有元素都变成它们的平方

第一步先定义一个函数:

def f(x):
   return x*x

然后再用map()函数:

print map(f,list)

输出结果为:

[1,4,9,16]

PS:list的元素可以是任意类型,只要与自定义的函数f()相对应即可

reduce()也是一个Python内置的高阶函数它和map()类似,也是接收两个参数一个list和一个自定义函数f(),不过reduce()接收的这个自定义函数f()所接收的参数是两个

例如:计算一个list=[1,2,3,4]里的元素的乘积

第一步也是定义一个函数:

def f(x,y):
   return x*y

然后调用reduce()

print reduce(f,list)

输出结果为:

24

PS:reduce()也可以接收第三个参数作为初始值

继上面:

print reduce(f,list,100)

输出的结果为:

2400



注:个人学习记录,仅供参考,如有错误请留言



猜你喜欢

转载自blog.csdn.net/u011648373/article/details/80039002