假设我有一个可迭代对象:
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/