创建一个列表,列出其条目在Python范围内的所有列表

时间:2013-11-05 22:08:02

标签: python list

我们怎样才能创建所有长度为57的列表,其条目为5,6或7?

有一个简短的方法吗?

[更新] 我正在寻找一段代码,用于创建长度为3 ^ 57的列表,其中包含长度为57的所有列表,其条目为5,6或7。 / p>

1 个答案:

答案 0 :(得分:6)

您是否正在寻找[5, 6, 7]自己的产品,57次?

itertools.product()为您做到了这一点:

from itertools import product

for combination in product([5, 6, 7], repeat=57):
    print combination

但是,打印所有输出需要一段时间。它最终将打印所有3 ** 57 == 1570042899082081611640534563可能的组合。

不要尝试使用所有可能的组合创建单个列表。在64位计算机上,这些列表中的一个需要528个字节,因此所有列表一起占用大约685719个zetabytes(1 zetabyte是1024 ** 8个字节)的内存。技术还没有那么远。