做笔试题看到了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