-9

我们如何创建所有长度为 57 且条目为 5、6 或 7 的列表的列表?

有没有捷径可以做到这一点?

[更新]我正在寻找一段代码来创建长度为 3^57 的列表,该列表由长度为 57 的所有列表组成,其条目为 5、6 或 7。

4

1 回答 1

6

您是否在寻找[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 字节)的内存。技术还没有那么远。

于 2013-11-05T22:11:13.213 回答