-2

我正在处理大量数据,大约 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

如何正确存储这些数据?

4

1 回答 1

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)
于 2013-09-02T12:08:41.163 回答