是否有理由更喜欢使用map()
超过列表理解,反之亦然?它们中的任何一个通常比另一个更有效或被认为是更加pythonic?
map(function, iterable, ...)
Run Code Online (Sandbox Code Playgroud)
将函数应用于iterable的每个项目并返回结果列表.如果传递了其他可迭代参数,则函数必须采用那么多参数,并且并行地应用于所有迭代的项.
如果一个iterable比另一个短,则假定使用None项扩展.
如果是None
function,则假定为identity函数; 如果有多个参数,则map()
返回一个由包含所有迭代中相应项的元组组成的列表(一种转置操作).
可迭代参数可以是序列或任何可迭代对象; 结果始终是一个列表.
这在制作笛卡尔积的过程中扮演什么角色?
content = map(tuple, array)
Run Code Online (Sandbox Code Playgroud)
将元组放在哪里有什么影响?我也注意到,如果没有map函数,输出就是abc
和它一样a, b, c
.
我想完全理解这个功能.参考定义也很难理解.太多花哨的绒毛.