擅长:python、mysql、java
<p>在这个表达式中:</p>
<pre><code>[d.pop() for _ in range(len(d))]
</code></pre>
<p>您希望隐式复制或限定哪个变量的范围?这里唯一在理解中具有任何特殊状态的变量是<code>_</code>,它不是您想要保护的变量。在</p>
<p>我不明白你怎么能给出列表理解语义,以某种方式识别所有涉及的可变变量,并以某种方式隐式地复制它们。或者知道<code>.pop()</code>改变了它的对象?在</p>
<p>你提到了函数式语言,但是它们通过使所有变量都不可变来实现你想要的。Python并不是这样设计的。在</p>