Python map函数是一个值返回函数吗?

Sam*_*ter 0 python list return-type

我一直在尝试使用mapPython中的函数,并且我遇到了一些麻烦.我无法分辨这些是将函数foo映射到列表栏的正确方法:

map(foo, bar)
Run Code Online (Sandbox Code Playgroud)

要么

newBar = map(foo, bar)
Run Code Online (Sandbox Code Playgroud)

我从不同的网站得到了不同的结果.哪些是正确的用法?

gli*_*dud 5

在Python 2中,map()返回一个返回值列表foo(...).如果你不关心结果,只是想运行的元素bar通过foo,无论是你的例子会工作.

在Python 3中,map()返回一个懒惰地计算的迭代器.无论你的例子将实际运行的任何元素bar通过foo .您将需要迭代该迭代器.最简单的方法是将其转换为列表:

list(map(foo, bar))
Run Code Online (Sandbox Code Playgroud)