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

2024-10-19 14:36:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图生成128位的所有排列,并将它们存储在某种结构中。我在其他堆栈溢出问题中找到了一些有用的信息:

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

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

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

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


Tags: 字符串信息map列表字节堆栈序列keys