我遍歷一個非常大的製表符分隔的文件(包含數百萬行)並根據該文件中某些字段的值配對它的不同行,例如從內存有效的方式從字典中創建Python中的迭代器
mydict = defaultdict()
for line in myfile:
# Group all lines that have the same field into a list
mydict[line.field].append(line)
由於「mydict」變得非常大,我想將它做成一個迭代器,所以我沒有持有這一切在內存中。我如何做到這一點,而不是填充字典,我會創建一個迭代器,我可以循環並獲得所有這些具有相同字段值的行的列表?
謝謝。
您必須展示mydict是如何使用的,否則不可能告訴 – tokland 2011-03-27 18:39:48
有多少百萬行?平均線長? 'field'的本質是什麼?你說「配對」......「對」意味着2;期望得到的列表的最小值,最大值和平均值是多少?你打算如何處理結果...找到重複的記錄? – 2011-03-27 21:10:43