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

ID:19787 / 打印

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

map 不执行的探究

问题:

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

代码:

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

解答:

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

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

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

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

1 2 3
上一篇: 如何使用 Pandas 判断数据记录的日期间隔是否超过某个阈值?
下一篇: 提高 raise 和 raise e 之间的差异

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

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