为什么使用 `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` 函数打印语句却没有执行?的详细内容,更多请关注知识资源分享宝库其它相关文章!