语法:map(function,iterable,...)
根据提供的函数对指定序列做映射。序列中的每一个元素调用 function 函数,可以是一个或多个序列,函数返回一个迭代器。
>>> map(lambda x:x ** 2,[1,2,3]) <map object at 0x000000000386C080> >>> [i for i in map(lambda x:x ** 2,[1,2,3])] [1, 4, 9] >>> map(lambda x,y:x+y,[1,2,3],[10,20,30]) <map object at 0x000000000386C080> >>> [i for i in map(lambda x,y:x+y,[1,2,3],[10,20,30])] [11, 22, 33]
语法:reduce(function,iterable[,initializer])
对参数序列中的元素进行累积。序列前两个元素调用 function 函数运算,得到的结果再与第三个元素调用 function 函数,依次运算。函数返回值与初始参数 initializer 类型相同。
>>> from functools import reduce >>> reduce(lambda x,y:x+y,[1,3,5]) 9 >>> reduce(lambda x,y:x+y,[1,3,5],2) 11 >>> reduce(lambda x,y:x+y,[‘1‘,‘3‘,‘5‘],‘字符串:‘) ‘字符串:135‘
语法:zip([iterable,...])
将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。函数返回一个迭代器。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 操作符,可以将元组解压为列表。
>>> a = [1,2,3] >>> b = [‘a‘,‘b‘,‘c‘] >>> c = [10,20,30,40] >>> zip(a,b) <zip object at 0x000000000386AE48> >>> [i for i in zip(a,b)] [(1, ‘a‘), (2, ‘b‘), (3, ‘c‘)] >>> [i for i in zip(a,c)] [(1, 10), (2, 20), (3, 30)] >>> zip(*zip(a,c)) <zip object at 0x000000000386F988> >>> [i for i in zip(*zip(a,c))] [(1, 2, 3), (10, 20, 30)]
原文:https://www.cnblogs.com/yutb/p/10900342.html