问题描述
我得到了以下代码:
var = []
for i in range(0,len(code_list)-11):
sorted_list = sorted(code_list[i:i+10])
minmax_list = list(range(min(sorted_list),max(sorted_list)+1))
if (sorted_list == minmax_list):
var = var+lista_ordenada
当code_list
太大时,将返回一个内存错误。
但是,当替换以下内容时:
var = []
for i in range(0,len(code_list)-11):
sorted_list = sorted(code_list[i:i+10])
minmax_list = np.arange(min(sorted_list),max(sorted_list)+1,1).tolist()
if (sorted_list == minmax_list):
var = var+lista_ordenada
例程成功结束。有人知道原因吗?
谢谢!
解决方法
tolist()
将所有数据转换为python标准库类型。它还知道它是一个numpy数组,并且可以访问高度优化的支持数组。
list
仅使用迭代器添加所有元素,因此速度较慢且占用大量内存。