将128位的所有排列生成为字节或位,而不是字符串

时间:2018-10-26 09:59:11

标签: python python-3.x permutation

我试图生成128位的所有排列并将它们存储在某种结构中。我在其他Stack Overflow问题中使用以下方法找到了一些有用的信息:

keys = map(''.join,itertools.product('01',repeat=n)) 

问题在于,此解决方案仅对n的足够小的值有用,因为它将值作为字符串存储在列表中,因此序列中的每个位都是一个字节,这意味着每个排列都是长128个字节

使用n=128这样的高值,就不可能将所有排列存储为字符串。 (用itertools.product()执行n=128时,我的计算机内存不足了)。将排列存储为原始字节意味着每个排列有16个字节。

我的问题是如何归档与intertools.product相同的结果,但要处理字节。

1 个答案:

答案 0 :(得分:0)

尝试一下:

perms = [ x for x in range(0, 2**128)]