回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>这对我来说不是一件小事,而且我找不到任何收据,所以也许你可以给我指一张,或者你有一个现成的、适当的、经过调整的解决方案?正确含义也适用于不知道自身长度的迭代器(没有<code>__len__</code>),也适用于可穷尽迭代器(例如链式迭代器);经过良好调整的含义很快。在</p>
<p>注意:就地解决方案是不可能的,因为需要缓存迭代器的输出来重新迭代它们(<a href="https://stackoverflow.com/users/136829/glenn-maynard">Glenn Maynard</a>指出了这一点)。在</p>
<p>用法示例:</p>
<pre><code>>>> list(izip_cycle(range(2), range(5), range(3)))
[(0, 0, 0), (1, 1, 1), (0, 2, 2), (1, 3, 0), (0, 4, 1)]
>>> from itertools import islice, cycle, chain
>>> list(islice(izip_cycle(cycle(range(1)), chain(range(1), range(2))), 6))
[(0, 0), (0, 0), (0, 1), (0, 0), (0, 0), (0, 1)]
</code></pre>