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

Gre*_*reg 5 python

我正在尝试为我正在进行的项目创建一组测试用例,并且我想创建所有可能的测试用例并迭代它们(快速程序,不应该花很长时间).测试用例应该都是长度为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]
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

Lab*_*abo 0

内存高效的单行代码:

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

您可以将 4 修改为任何其他列表大小:)