我遍历一个非常大的制表符分隔的文件(包含数百万行)并根据该文件中某些字段的值配对它的不同行,例如从内存有效的方式从字典中创建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