擅长:python、mysql、java
<p>一个选项是<code>zip</code>您的iterable到<code>range</code>:</p>
<pre><code>for index, item in zip(range(10, 0, -2), ['a', 'b', 'c']):
...
</code></pre>
<p>这确实有一个限制,您需要知道<code>range</code>应该走多远(它应该覆盖的最小值-在我的示例中,多余部分将被<code>zip</code>截断)。</p>
<p>如果你不知道,你可以滚动你自己的“无限<code>range</code>”并使用它:</p>
<pre><code>>>> def inf_range(start, step):
"""Generator function to provide a never-ending range."""
while True:
yield start
start += step
>>> list(zip(inf_range(10, -2), ['a', 'b', 'c']))
[(10, 'a'), (8, 'b'), (6, 'c')]
</code></pre>