<p>假设我有一个昂贵的操作<code>expensive(x: int) -> int</code>和以下列表:</p>
<pre><code># expensive(x: int) -> int
# check(x: int) -> bool
[expensive(i) for i in range(LARGE_NUMBER) if check(expensive(i))]
</code></pre>
<p>如果我想避免为每个<code>i</code>运行两次<code>expensive(i)</code>,有没有办法用列表理解保存它的值</p>