我在Python中遇到内存错误,这并不奇怪,但我需要一个替代方案。所以我使用了几个用于语句的东西,据我所知存储在内存中的值。我应该将for语句切换为什么,以便将它们保存为无法保存到内存中的内容。将它保存到文本文件是一个更好的途径?代码如下,以帮助回答我应该做的事情。我想要你的任何想法的例子。
def product(*args, **kwds):
pools = map(tuple, args) * kwds.get('repeat', 1)
result = [[]]
for pool in pools:
result = [x+[y] for x in result for y in pool]
for prod in result:
yield tuple(prod)
def start():
for chars in product("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12234567890!@#$%^&*?,()-=+[]/;", repeat = 4):
print chars
答案 0 :(得分:2)
from itertools import product
def start():
for chars in product("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12234567890!@#$%^&*?,()-=+[]/;", repeat = 4):
print chars
来自文档:
此函数等效于以下代码,但实际实现不会在内存中构建中间结果