擅长:python、mysql、java
<p>在Python<;3.8中,可以使用<a href="https://docs.python.org/3.8/library/itertools.html#itertools.takewhile" rel="nofollow noreferrer">^{<cd1>}</a>:</p>
<pre><code>from itertools import takewhile
i = iter(range(10))
for x in takewhile({some logic}, i):
# do stuff
</code></pre>
<p>这里的“Some logic”是一个1-arg可调用函数,接收<code>next(i)</code>产生的任何结果:</p>
^{pr2}$
<p>在Python>;=3.8中,可以使用<a href="https://www.python.org/dev/peps/pep-0572/" rel="nofollow noreferrer">assignment expressions</a>执行以下操作:</p>
<pre><code>i = iter(range(10))
while (x := next(i, None)) is not None and x < 5:
print(x)
</code></pre>