如何创建所有可能列表的列表,其中n个元素由1到10之间的整数组成?

我正在尝试为我正在进行的项目创建一组测试用例,并且我想创建所有可能的测试用例并迭代它们(快速程序,不应该花很长时间).测试用例应该都是长度为1-4的列表,列表中的每个项目应该是0-10之间的整数.列表中的第一项应为0.然后,列表集将是:

[0]
[0,0]
[0,1]
[0,2]
[0,3]
...
[0,10]
[0,0,0]
[0,0,1]
[0,0,2]
[0,0,3]
...
[0,1,0]
[0,1,1]
[0,1,2]
...
[0,10,10]
...
[0,10,10,10]

这是我到目前为止,但它没有输出正确的列表:

test_list = [0]

for length in range(2, 5):
    while len(test_list) < length:
        test_list.append(0)
    for position in range(1, length):
        for digit in range (0, 11):
            test_list[position] = digit
            print test_list
最佳答案
内存高效的单行程序:

import itertools
size = 4
for x in map(list, itertools.chain(*(itertools.product([0], *[range(11)]*i) for i in range(size)))):
    print(x)

您可以使用任何其他列表大小修改4 🙂

转载注明原文:如何创建所有可能列表的列表,其中n个元素由1到10之间的整数组成? - 代码日志