假设我有任何可迭代的
var = "ABCDEF"
我得到像这样的迭代
it = itertools.combinations(var,2)
是否有任何单一的功能来打印所有的迭代值,如
printall(it)
而不是使用for循环
Gar*_*tty 24
这取决于你想要什么,如果你想要打印出所有的值,你需要计算它们 - 一个iterable并不能保证在所有值被请求之前计算它们,所以最简单的方法就是制作它清单:
print(list(iterable))
Run Code Online (Sandbox Code Playgroud)
这将打印出正常列表格式的项目,这可能是合适的.如果你想要一个新行上的每个项目,最好的选择是,如你所提到的,一个简单的for循环:
for item in iterable:
print(item)
Run Code Online (Sandbox Code Playgroud)
如果你并不需要以特定格式的数据,但只需要它是可读的(不是所有在同一行,例如),你可能要检查的pprint模块.
最后一个选择,我并不觉得自己真的是最优的,但对于提完整性,有可能在3.x中,其中的print()功能非常灵活:
print(*iterable, sep="\n")
Run Code Online (Sandbox Code Playgroud)
在这里,我们将iterable作为参数解包print(),然后使分隔符成为换行符(而不是通常的空格).
您可以使用该str.join方法并将迭代的每个元素加入新行。
print('\n'.join(it))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15564 次 |
| 最近记录: |