python-3.x - 打印在 map 中时不打印,Python

标签 python-3.x dictionary

primes = [2,3,5,7..] (prime numbers)
map(lambda x:print(x),primes)

它不打印任何内容。 这是为什么? 我已经尝试过

sys.stdout.write(x)

也是,但也不起作用。

最佳答案

由于 lambda x: print(x) 是 Python < 3 中的语法错误,我假设 Python 3。这意味着 map 返回一个生成器,这意味着get map 要实际在列表的每个元素上调用该函数,您需要迭代生成的生成器。

幸运的是,这可以轻松完成:

list(map(lambda x:print(x),primes))

哦,如果你愿意的话,你也可以摆脱 lambda:

list(map(print,primes))

但是,此时您最好让 print 来处理它:

print(*primes, sep='\n')
<小时/>

注意:我之前说过 '\n'.join 是个好主意。这仅适用于 str 列表。

关于python-3.x - 打印在 map 中时不打印,Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60102998/

相关文章:

python - 如何在 Django 中为字典批量创建和保存对象

python-3.x - Azure DevOps 的客户端凭据流程

python - 如何从元组中间开始枚举

python - 在循环行时 append 到 Pandas 数据框?

javascript - 将参数传递给数组内的匿名函数 - 使用 console.log 返回输出

Python 字典,以数学方式将数值添加到现有键值

python 3 : Standard way to surpress the b' prefix when printing

Python:如何从列表[-1]中获取错误?

Python字典包含列表作为值 - 如何更新?

python - 使用字典查找 df 的两列值的模式并基于该模式添加新列