我正在尝试为我正在研究的项目创建一组测试用例,并且我想创建所有可能的测试用例并对其进行迭代(快速程序,不应花很长时间)。测试用例应全部为长度为1-4的列表,并且列表中的每一项应为0-10(含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 :)

关于python - 如何创建由n个元素组成的所有可能列表的列表,这些元素由1到10之间的整数组成?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41305883/

10-14 19:11
查看更多