擅长:python、mysql、java
<p>如果输入是长度为N的M行,那么这里的生成器占用O(N)空间而不是O(M*N):</p>
<pre><code>def myfunction(text):
from StringIO import StringIO
for line in StringIO(text):
yield line.rstrip().split(',')
</code></pre>
<p>它返回一个迭代器,而不是一个具体的列表,以减少内存消耗。您可以在for循环或类似的循环中使用结果,如果您确实希望输出作为列表,只需将其传递给<code>list()</code>构造函数即可。你知道吗</p>