我试图生成128位的所有排列并将它们存储在某种结构中。我在其他Stack Overflow问题中使用以下方法找到了一些有用的信息:
keys = map(''.join,itertools.product('01',repeat=n))
问题在于,此解决方案仅对n
的足够小的值有用,因为它将值作为字符串存储在列表中,因此序列中的每个位都是一个字节,这意味着每个排列都是长128个字节
使用n=128
这样的高值,就不可能将所有排列存储为字符串。 (用itertools.product()
执行n=128
时,我的计算机内存不足了)。将排列存储为原始字节意味着每个排列有16个字节。
我的问题是如何归档与intertools.product
相同的结果,但要处理字节。
答案 0 :(得分:0)
尝试一下:
perms = [ x for x in range(0, 2**128)]