python - 是否有任何单一函数来打印可迭代的值?

标签 python iterator

假设我有一个可迭代对象:

var = "ABCDEF"

我得到这样的迭代器:

it = itertools.combinations(var,2)

是否有任何单个函数可以像这样打印可迭代对象的所有值

打印所有(它)

而不是使用 for 循环?

最佳答案

这取决于你想要什么,如果你想打印出所有的值,你需要计算它们 - 可迭代对象不能保证在所有值被请求之前计算这些值,所以实现这个的最简单方法是make a list :

print(list(iterable))

这将以正常的列表格式打印出项目,这可能是合适的。如果您希望每个项目都换行,如您所述,最好的选择是一个简单的 for 循环:

for item in iterable:
    print(item)

如果您不需要特定格式的数据,但只需要它是可读的(例如,不是全部在一行上),您可能需要查看 the pprint module .

最后一个选项,我并不认为它是最佳的,但为了完整性而提到,在 3.x 中是可能的,其中 the print() function非常灵活:

print(*iterable, sep="\n")

我们在这里 unpack the iterable作为 print() 的参数,然后将分隔符设为换行符(与通常的空格相反)。

关于python - 是否有任何单一函数来打印可迭代的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15015452/

相关文章:

python - 如何在 python 中使用 awk 对齐文本文件?

python - 使用 NumPy 索引数组对 Python 列表进行切片——任何快速的方法?

Javascript:如何在多维数组上实现迭代器?

const 和非 const 容器的 C++ 自定义迭代器

c++ - vector::begin() 中的迭代器返回

python - 在 pandas 数据框中绘制条形图

python - 澳大利亚统计局 SDMX 超时问题

python - 如何从 CSV 中获取特定表格并用 Python 编写新文件?

java - 不暴露 'internal structure' 是什么意思? (迭代器)

c++ - 我如何检查迭代器是否到达列表末尾?