# lambda,filter,map,reduce from functools import reduce print('返回一个迭代器') print((x) for x in range(5)) print('迭代器转换为tuple') print(tuple((x) for x in range(5))) print('.......') print('匿名函数lambda传参方式一') print((lambda x, y: x+y)(1, 2)) print((lambda x: x+1)(1)) print('匿名函数传参方式二,返回一个迭代器') print((lambda x: x+1)(x) for x in range(5)) print('迭代器转换为list') print(list((lambda x: x+1)(x) for x in range(5))) print('.......') print('filter:返回x-1 为 True 的 x的值, bool(-1) == True,bool(0) == False,bool(None) == False') print(list(filter(lambda x: x-1, range(5)))) print('.......') print('map:返回所有的x-1 的值') print(list(map(lambda x: x-1, ((x)for x in range(5))))) print('reduce:先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给fuction,最终返回一个结果值') print(reduce(lambda x, y: x+y, range(5)))
返回结果:
返回一个迭代器 <generator object <genexpr> at 0x103333728> 迭代器转换为tuple (0, 1, 2, 3, 4) ....... 匿名函数lambda传参方式一 3 2 匿名函数传参方式二,返回一个迭代器 <generator object <genexpr> at 0x1033337d8> 迭代器转换为list [1, 2, 3, 4, 5] ....... filter:返回x-1 为 True 的 x的值, bool(-1) == True,bool(0) == False,bool(None) == False [0, 2, 3, 4] ....... map:返回所有的x-1 的值 [-1, 0, 1, 2, 3] reduce:先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给fuction,最终返回一个结果值 10