Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建组合列表_Python_List_Combinations - Fatal编程技术网

Python 创建组合列表

Python 创建组合列表,python,list,combinations,Python,List,Combinations,我想创建一个有三个值的数字列表,并希望涵盖从0到3的每个组合。例如: 0, 0, 0 0, 0, 1 ... 1, 0, 3 1, 1, 3 一直到3,3,3 有比使用多个for循环更好的方法吗 以下是我使用的代码: for i in range (0, 4): for x in range (0, 4): for t in range (0, 4): assign = [i, x, t] 通常: 列表(itertools.product(范围(4),

我想创建一个有三个值的数字列表,并希望涵盖从0到3的每个组合。例如:

0, 0, 0
0, 0, 1
...
1, 0, 3
1, 1, 3
一直到
3,3,3

有比使用多个for循环更好的方法吗

以下是我使用的代码:

for i in range (0, 4):
    for x in range (0, 4):
        for t in range (0, 4):
        assign = [i, x, t]
通常:

列表(itertools.product(范围(4),重复=3))
您可以使用:


您可以使用
itertools.product()
函数:

from itertools import product

for i, x, t in product(range(4), repeat=3):
    print (i, x, t)
演示:


itertools.product()
是一个很好的解决方案,但是如果您碰巧想要一个列表列表而不是元组列表,您可以使用以下方法:

[ [x,y,z] for x,y,z in itertools.product(range(4), repeat=3)]
或等效列表:

[ [x,y,z] for x in range(0,4)
            for y in range(0,4)
                for z in range(0,4)]
[ [x,y,z] for x,y,z in itertools.product(range(4), repeat=3)]
[ [x,y,z] for x in range(0,4)
            for y in range(0,4)
                for z in range(0,4)]