Python-了解map函数
map(function, iterable, ...)
将函数应用于每个iterable并返回结果列表。如果传递了其他可迭代的参数,则函数必须采用那么多参数,并且并行地将其应用于所有可迭代的项目。
如果一个可迭代项短于另一个可迭代项,则假定它扩展为None。
如果function
为None
,则假定为身份函数;如果有多个参数,则map()
返回一个由元组组成的列表,其中包含所有可迭代对象中的对应项(一种转置操作)。
可迭代参数可以是序列或任何可迭代对象。结果总是一个列表。
这在制作笛卡尔积时起什么作用?
content = map(tuple, array)
将元组放在任何地方会有什么作用?我也注意到,如果没有地图功能的输出abc
,并与它,它的a, b, c
。
我想完全了解此功能。参考定义也很难理解。花哨的绒毛太多。
回答:
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))
以上是 Python-了解map函数 的全部内容, 来源链接: utcz.com/qa/418876.html