我有一大块python代码处理列表中的每个元素,然后将处理过的元素附加到另一个列表中:
unprocessed_list = [1,2,3,4,5,6,7,8,9,10]
processed_list = []
while len(l1) > 0:
processed_list.append(process_element(l1[0]))
del unprocessed_list[0]
print "Unprocessed size:" ,sys.getsizeof(unprocessed_list)
print "Processed size:" ,sys.getsizeof(processed_list)
我重新编写了代码,以便在处理完一个元素后,使用del
语句删除它,我在输出中看到unprocessed_list
缩小为{{ 1}}成长。
这是否意味着将释放实际内存,还是需要另外执行某些操作?可以/我应该手动运行垃圾收集吗?
这在python 2.7中运行