擅长:python、mysql、java
<p>S.Lotts答案的轻微优化:</p>
<pre><code>from collections import defaultdict
keyValues= defaultdict(list)
targetKeys= # some list of keys as strings
for line in fin:
key, value = line.split()
if key in targetKeys:
keyValues[key].append( value )
</code></pre>
<p>因为我们使用的是字典而不是列表,所以键不必是数字。这将为每一行保存map()操作和字符串到整数的转换。如果您希望键是数字,则在结束时进行转换a,此时您只需要为每个键执行一次转换,而不是为5000万行中的每一行执行一次转换。</p>