擅长:python、mysql、java
<p>我也有类似的要求</p>
<pre><code>data = [line.strip('\n').split(',') for line in open('test.txt','r').readlines()]
identifiers = ['2069784', '2640650']
filteredData = filter(lambda x:x[2] in identifiers, data)
</code></pre>
<p>现在尝试计时,对于大小为52MB(64列,60897行)的文本文件,获取所需行需要不到3秒的时间。结果有308行。你知道吗</p>
<p>请注意,我的文件是用逗号分隔的,所以用逗号分隔。另外,我使用的是一台8GB内存的windows7机器。你知道吗</p>
<p>另外,你能分享一下你的代码的性能细节吗。我很想知道我今后应该采取哪种方法。你知道吗</p>