Tha*_*tos 2 python memory-management
这个简单的陈述:
zip(xrange(0, 11614321), xrange(0, 11627964))
Run Code Online (Sandbox Code Playgroud)
......吃掉了我的大部分内存.(> 150 MiB!)为什么?
编辑:啊,重新阅读文档,我看到zip返回一个列表,而不是一个可迭代的.这样的东西zip会返回一个可迭代的吗?
更大的图片:我正在迭代两个大的文件数据数组,我正在做迭代(0-end,0-end),(0-end,1-end)等等.我喜欢不切片数组,因为它会导致过多的内存分配.我想我只是迭代索引,但这似乎不起作用,如上所述.整个代码:
def subsequence_length(data_a, data_b, loc_a, loc_b):
length = 0
for i_a, i_b in zip(xrange(loc_a, len(data_a)), xrange(loc_b, len(data_b))):
if data_a[i_a] == data_b[i_b]:
length += 1
else:
break
return length
Run Code Online (Sandbox Code Playgroud)