擅长:python、mysql、java
<p>您可以使用<a href="https://docs.python.org/3.5/library/functions.html#iter" rel="nofollow noreferrer">^{<cd1>}</a>,而不是使用全局/静态计数器变量:</p>
<pre><code>iterator = iter(noib_list)
def foo(orig_output, NOB):
bit_required = next(iterator)
converted_output = convert_output(orig_output, NOB, bit_required)
</code></pre>
<p>迭代器将自动在内部跟踪<a href="https://docs.python.org/3.5/library/functions.html#next" rel="nofollow noreferrer">^{<cd2>}</a>元素。在</p>
<p>当迭代器耗尽时(即当您到达列表的末尾时),<code>next</code>将引发一个<code>StopIteration</code>错误,因此如果您不知道何时到达结尾,可以使用<code>bit_required = next(iterator, None)</code>;然后只测试该值是否为<code>None</code>,并且您知道列表已用尽(或仅使用<code>try/except</code>)。在</p>