map(function, iterable, ...)
将函数应用于每个iterable项目,并返回结果列表。如果传递了其他可迭代参数,则函数必须采用那么多参数,并且并行地将其应用于所有可迭代对象的项。
如果一个可迭代项短于另一个可迭代项,则假定它扩展为None。
如果function是None
,则假定身份函数;如果有多个参数,则map()
返回一个由元组组成的列表,其中包含所有可迭代对象中的对应项(一种转置操作)。
可迭代参数可以是序列或任何可迭代对象。结果总是一个列表。
这在制作笛卡尔积时起什么作用?
content = map(tuple, array)
将元组放在任何地方会有什么作用?我也注意到,如果没有地图功能的输出abc
,并与它,它的a, b, c
。
我想完全了解此功能。参考定义也很难理解。花哨的绒毛太多。
map(None, a, b, c)
事实证明确实如此zip(a, b, c)
。但是实际上,您很少会看到这种情况,因为zip
调用是等效的。
tuple
是一个函数(需要一个可迭代的函数,并且为您提供具有相同元素的元组),因此tuple([1, 2, 3])
等效于(1, 2, 3)
。对于map(tuple, array)
,array
将是一个可迭代的可迭代对象(请考虑一个列表列表),它使您可以将每个内部列表转换成一个元组。
map
?