擅长:python、mysql、java
<pre><code>car = iter(car)
a = iter(a)
[next(car) if item else next(a) for item in lyst]
</code></pre>
<hr/>
<p>好吧,我忍不住:</p>
^{pr2}$
<p>这将使用一些布尔表达式功能:</p>
<ul>
<li>如果第一个操作数为False,则布尔<code>and</code>表达式将不计算第二个操作数</li>
<li>如果两个操作数的计算结果都为True,则布尔<code>and</code>表达式将返回第二个操作数(实际对象)</li>
<li>布尔<code>or</code>表达式将返回第一个计算结果为True的对象</li>
</ul>
<p>一个潜在的问题是<code>car</code>或{<cd5>}中的任何项的计算结果都为False。同样,这并不像第一个溶液中的三元溶液那么易读。在</p>
<p>但很有趣。在</p>
<hr/>
<p>我想我会再补充一点,我可能不应该重新分配原始的列表名称-我应该为迭代器名称选择不同的名称。一旦用尽,迭代器就无法<em>重置</em>,并且由于列表名称被重新分配,原始列表信息将丢失。在</p>