我们如何创建所有长度为 57 且条目为 5、6 或 7 的列表的列表?
有没有捷径可以做到这一点?
[更新]我正在寻找一段代码来创建长度为 3^57 的列表,该列表由长度为 57 的所有列表组成,其条目为 5、6 或 7。
您是否在寻找[5, 6, 7]
with 本身的产品,57 次?
itertools.product()
为您做到这一点:
from itertools import product
for combination in product([5, 6, 7], repeat=57):
print combination
但是,打印所有输出需要一段时间。它最终会打印出所有 3 ** 57 == 1570042899082081611640534563 可能的组合。
但是,不要尝试创建包含所有可能组合的单个列表。在 64 位机器上,这些列表之一占用 528 字节,因此所有列表总共占用大约 685719 泽字节(1 泽字节为 1024 ** 8 字节)的内存。技术还没有那么远。