我正在处理大量数据,大约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
如何正确存储这些数据?
答案 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)