我正在编写一个执行各种字符排列的 python 脚本。最终,脚本将因内存不足错误而崩溃,具体取决于我想要进行置换的深度。
我最初认为解决方案会清空列表并重新启动,但这样做会导致索引越界错误。
这是我目前的设置:
for j in range(0, csetlen):
getJ = None
for i in range(0, char_set_len):
getJ = word_list[j] + char_set[i]
word_list.append(getJ)
csetlen = csetlen - j
del word_list[j-1:]
word_list.append(getJ)
j=0
基本上,csetlen
可以是一个非常大的数字(超过 100,000,000)。当然,我没有足够的内存。所以我试图找出如何缩小外for
循环中的列表。如何优雅地做到这一点?
内存错误与word_list
. 目前,我正在存储数百万种不同的排列;我需要能够“回收”一些旧的列表值。如何对 python 列表执行此操作?