from functools import reduce import numpy as np ''' reduce[function, sequence[, initial]]使用 1、function:是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function 2、如果设置initial参数,会以sequence中的第一个元素和initial作为参数调用function。 ''' # 不设置initial def reduce1(): result = reduce(lambda x, y: x+y, [1, 3, 5, 7, 9]) print('无initial:', result) def reduce2(): result = reduce(lambda x, y: x + y, [1, 3, 5, 7, 9],100) print('有initial:', result) ''' map(function, sequence[, sequence, ...]) -> list 第一个参数是函数,剩下是一个或多个序列,返回一个集合 1、存在多个序列,会依次以每个序列中相同位置的元素做参数调用function函数 ''' def map1(): array = np.arange(1,4) print('array:', array) result = map(lambda x: x**2, array) for index,value in enumerate(result): print( value) def map2(): array1 = np.arange(1,5) array2 = np.arange(5,10) print('array1:', array1) print('array2:', array2) result = map(lambda x, y: x + y, array1, array2) for index, value in enumerate(result): print(value) if __name__ == '__main__': print('-----------------reduce-----------') reduce1() reduce2() print('---------------map-----------------') map1() print('多个序列') map2()