拥有大量数据,如何在大型列表中获取数据或是否有其他方法?

时间:2013-09-02 11:50:11

标签: python

我正在处理大量数据,大约100000 * 10kb。如何将它们列入列表,如果我的内存小于1gb怎么办? 这是我的榜样。我不确定它会起作用。

def get_lots_of_data():
    datas = []
    for i in range(100000):
        d= find_a_big_data_from_file_by_item(i) #every item is about 10kb
        datas.append(d)
    return datas

如何正确存储这些数据?

1 个答案:

答案 0 :(得分:1)

您可以返回生成器而不是列表:

def get_lots_of_data():
    for i in range(100000):
        yield find_a_big_data_from_file_by_item(i)

用法将是:

for d in get_lots_of_data():
    do_something(d)