擅长:python、mysql、java
<p>这取决于你想要什么,如果你想打印出所有的值,你需要计算它们-一个iterable不保证在所有的值都被请求之后才进行计算,所以最简单的方法是<a href="http://docs.python.org/3/library/functions.html#func-list">make a list</a>:</p>
<pre><code>print(list(iterable))
</code></pre>
<p>这将打印出正常列表格式的项目,这可能是合适的。如果您希望每一项都在一个新行中,最好的选择是,如您所提到的,一个简单的for循环:</p>
<pre><code>for item in iterable:
print(item)
</code></pre>
<p>如果您不需要特定格式的数据,而只需要它是可读的(例如,不是所有的数据都在一行),那么您可能需要签出<a href="http://docs.python.org/3/library/pprint.html">the ^{<cd1>} module</a>。</p>
<p>最后一个选项,我并不认为是最佳的,但是为了完整性,在3.x中是可能的,其中<a href="http://docs.python.org/3/library/functions.html#print">the ^{<cd2>} function</a>非常灵活:</p>
<pre><code>print(*iterable, sep="\n")
</code></pre>
<p>在这里,我们将<a href="http://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists">unpack the iterable</a>作为<code>print()</code>的参数,然后将分隔符设为换行符(与通常的空格相反)。</p>