map和reduce

时间:2020-04-11
本文章向大家介绍map和reduce,主要包括map和reduce使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

做笔试题看到了map函数,妈的写了好久python这个都不知道,看了下作用是map()是 python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的object并返回。(python2返回列表,Python3返回迭代对象)

>>> arry = [1,2,3,4]
>>> def opreate(a):
...     return a**2
...
>>> res = map(opreate,arry)
>>> print(res)
<map object at 0x02AE4BF0>
>>> print(list(res))
[1, 4, 9, 16]

如果我们要自己实现一个的话,大概是这样的。

>>> def mymap(func,lis):
...     array = []
...     for i in lis:
...             array.append(func(i))
...     return array

reduce()函数,python3的reduce不再是内置函数,而是要导入的

reduce 使用了一个二元函数(一个接收带带两个值作为输入,进行了一些计算然后返回一个值作为输出),一个序列,和一个可选的初始化器,卓有成效地将那个列表的内容"减少"为一个单一的值,如同它的名字一样。

>>> from functools import reduce
>>> def add(a, b):
...     return a+b
...
>>> a = reduce(add, [1,2,3,4,5])
>>> print(a)
15

实现原理是把第一个第二个加起来,然后返回的值加第三个,返回的值再加第四个,类推

原文地址:https://www.cnblogs.com/gost/p/12679377.html

随机文章