gpt4 book ai didi

python 3打印生成器

转载 作者:太空狗 更新时间:2023-10-29 22:09:22 24 4
gpt4 key购买 nike

处理 print() 函数时出现问题(Python 3)。

当我寻找一个系列的总和时,我可以使用以下代码模式:

>>> sum(i for i in range(101))

但是当我倾向于检查我制作的系列时:(我选择 print() 并假设它将逐行打印出来)

>>> print(i for i in range(101))

原来变成了一个没有返回值的生成器对象。所以我必须使用 list() 进行系列检查。这是打印功能的缺陷吗?

PS:上面写的是生成器的例子,不是自然级数的最简单形式,而是复杂级数的骨骼结构。为了方便检查系列值,我正在寻找一种逐行打印每个值的方法。

最佳答案

sum 将可迭代的事物相加,而 print 将单独的参数打印出来。如果你想将所有生成器的项目分别提供给 print,请使用 * 符号:

print(*(i for i in range(1, 101)))

虽然在这两种情况下您实际上都不需要生成器:

sum(range(1, 101))
print(*range(1, 101))

如果您希望它们在不同的行中,您期望的是多次调用 print 的行为,这意味着您期望的是常规循环的行为:

for item in generator_or_range_or_whatever:
print(item)

尽管您也可以选择将 '\n' 指定为项目分隔符:

print(*generator_or_range_or_whatever, sep='\n')

关于python 3打印生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25073064/

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