如何解决为什么在Python 3.x中的循环内使用list返回内存错误?
我得到了以下代码:
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
仅使用迭代器添加所有元素,因此速度较慢且占用大量内存。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。