为什么使用 `map` 函数打印语句却没有执行?(却没有.语句.函数.执行.打印...)

wufei1232024-10-31python44

为什么使用 `map` 函数打印语句却没有执行?

map 不执行的探究

问题:

使用 map 时,明明传入了打印语句,但返回的却是 map object,没有执行打印操作。

代码:

map(lambda x: print(x), [1, 2, 3])
# <map object at></map>

解答:

map 函数返回的是一个 map object,它本身并不会执行传入的语句。map object 是一种惰性的数据结构,只有在需要时才会执行语句。

要立即执行语句,可以将 map object 转换为列表:

list(map(lambda x: print(x), [1, 2, 3]))

这样,print 语句就会被立即执行,并打印出结果:

1
2
3

以上就是为什么使用 `map` 函数打印语句却没有执行?的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。