擅长:python、mysql、java
<p>首先,列表理解可能是您所需要的全部(如果您的评论中提到的所有处理都发生在<code>operation</code>)。你知道吗</p>
<pre><code>def foo(list):
return [operation(n) for n in list]
</code></pre>
<hr/>
<p>如果列表理解在您的情况下不起作用,请考虑<code>foo</code>是否真的需要构建列表,并且可以作为生成器。你知道吗</p>
<pre><code>def foo(list):
for n in list:
# Processing...
yield operation(n)
</code></pre>
<p>在这种情况下,您可以迭代序列,并根据需要计算每个值:</p>
<pre><code>for x in foo(myList):
...
</code></pre>
<p>或者您可以让呼叫者决定是否需要完整的列表:</p>
<pre><code>results = list(foo())
</code></pre>
<hr/>
<p>如果以上两种方法都不合适,那么在循环体中建立返回列表是完全合理的。你知道吗</p>