map(function, iterable, ...)
将函数应用于每个iterable并返回结果列表。如果传递了其他可迭代的参数,则函数必须采用那么多参数,并且并行地将其应用于所有可迭代的项目。
如果一个可迭代项短于另一个可迭代项,则假定它扩展为None。
如果function为None,则假定为身份函数;如果有多个参数,则map()返回一个由元组组成的列表,其中包含所有可迭代对象中的对应项(一种转置操作)。
function
None
map()
可迭代参数可以是序列或任何可迭代对象。结果总是一个列表。
这在制作笛卡尔积时起什么作用?
content = map(tuple, array)
将元组放在任何地方会有什么作用?我也注意到,如果没有地图功能的输出abc,并与它,它的a, b, c。
abc
a, b, c
我想完全了解此功能。参考定义也很难理解。花哨的绒毛太多。
map不是特别pythonic。我建议改用列表推导:
map
pythonic
map(f, iterable)
基本上等同于:
[f(x) for x in iterable]
map单独不能执行笛卡尔积,因为其输出列表的长度始终与输入列表相同。你可以通过列表理解来简单地做笛卡尔积:
[(a, b) for a in iterable_a for b in iterable_b]
语法有点混乱-基本上等同于:
result = [] for a in iterable_a: for b in iterable_b: result.append((a, b))