Python 2文档中写道:
内置函数:
map(function, iterable, ...)
将函数应用于iterable的每个项,并返回结果列表。 如果传递了其他可迭代参数,则函数必须接受相同数量的参数,并同时应用于所有可迭代对象的项目。
如果一个可迭代对象比另一个短,那么假定它被延长到与None项一样长。
如果函数为
None
,则假定为恒等函数; 如果有多个参数,则map()
返回由包含来自所有可迭代对象的相应项目的元组的列表(一种转置操作)组成的列表。可迭代参数可以是序列或任何可迭代对象。 结果始终为列表。
这对制作笛卡尔积有什么作用?
content = map(tuple, array)
将元组放在那里有什么影响?我还注意到,如果没有map函数,输出是abc
,而有了它,就是a,b,c
。
我想完全理解这个函数。参考定义也很难理解。太多花哨的废话了。
map
? - Kris Harpermap(None, a, b, c)
实际上等同于zip(a, b, c)
。但实际上很少见到这种情况,因为这个zip
调用是等效的。 - lvctuple([1, 2, 3])
等同于(1, 2, 3)
。对于map(tuple, array)
,array
将是一个可迭代的可迭代对象(想象一下一个列表的列表),它会将每个内部列表转换为一个元组并返回。 - lvc