0
import itertools
printable = 'abcdefghijklmnopqrstuvwxz'
all_possibilites = ([''.join(i) for i in itertools.product(printable, repeat = 3)])
comparison = ['zd']
if comparison in all_possibilities:
print("match")
这是我的代码片段。我的意图是生成每一个字母组合。这里的片段有三个字符的限制。限制过大的python会返回内存错误。我的问题是:我如何从内存中删除不正确的结果?
有没有办法从内存中删除不匹配的组合,以便唯一的限制是时间而不是内存?说如果字符限制是5?任何进一步的阅读也会有所帮助。
你试图达到的目的究竟是什么?你的意思是所有可能的字母组合?随着您将重复大小增加到无穷大,将会有无限组合。你所做的任何n字母组合都会存在,那么比较的目的是什么?如果我有itertools.product(范围(3),重复= 3),您将有每个可能的3位组合0,1和2 - 您不需要检查它是否存在。当然,记忆会快速填满...... n = 5时你已经有26^5个组合。 – Daniel