gpt4 book ai didi

python - 如何打印生成器的内容?

转载 作者:太空宇宙 更新时间:2023-11-04 06:51:53 25 4
gpt4 key购买 nike

N = [1, 2, 3]
print(n for n in N)

结果:

<generator object <genexpr> at 0x000000000108E780>

为什么没有打印出来?:

1
2
3

但是代码:

sum(n for n in N) 

会对N中的所有数求和。

你能告诉我为什么 sum() 有效但 print() 失败吗?

最佳答案

这是因为您将一个生成器传递给了一个函数,这就是该生成器的 __repr__ 方法返回的内容。如果你想打印它生成的内容,你可以使用:

print(*N, sep='\n') # * will unpack the generator

print('\n'.join(map(str, N)))

请注意,一旦您检索生成器的输出以打印它,生成器已耗尽 - 再次尝试对其进行迭代将不会生成任何项目。

关于python - 如何打印生成器的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com