Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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_Python 3.x_List - Fatal编程技术网

Python 我如何生成这个?

Python 我如何生成这个?,python,python-3.x,list,Python,Python 3.x,List,给定一个列表,例如[3,2,4],如何生成以下输出 [0, 0, 0] [0, 0, 1] [0, 0, 2] [0, 0, 3] [0, 0, 4] [0, 1, 0] [0, 1, 1] [0, 1, 2] [0, 1, 3] [0, 1, 4] [0, 2, 0] [0, 2, 1] [0, 2, 2] [0, 2, 3] [0, 2, 4] [1, 0, 0] ... [1, 2, 4] ... [3, 2, 4] 我需要生成每个可能的列表,其中列表的每个元素都是正的,并且不大于相关索

给定一个
列表
,例如
[3,2,4]
,如何生成以下输出

[0, 0, 0]
[0, 0, 1]
[0, 0, 2]
[0, 0, 3]
[0, 0, 4]
[0, 1, 0]
[0, 1, 1]
[0, 1, 2]
[0, 1, 3]
[0, 1, 4]
[0, 2, 0]
[0, 2, 1]
[0, 2, 2]
[0, 2, 3]
[0, 2, 4]
[1, 0, 0]
...
[1, 2, 4]
...
[3, 2, 4]
我需要生成每个可能的列表,其中列表的每个元素都是正的,并且不大于相关索引中给出的数字


我知道这涉及到循环的
,但我正在寻找最有效的方法(可能使用生成器)来处理不同大小的列表。

[[x,y,z]对于范围内的x(3+1)对于范围内的y(2+1)对于范围内的z(4+1)]
就是您要寻找的

编辑:如果输入中的元素数量可变,则不是您的解决方案。

可以执行以下操作:

from itertools import product
l = [3,2,4]
print(*product(*[range(i+1) for i in l]), sep='\n')
将打印:

(0, 0, 0)
(0, 0, 1)
(0, 0, 2)
(0, 0, 3)
(0, 0, 4)
(0, 1, 0)
(0, 1, 1)
(0, 1, 2)
(0, 1, 3)
(0, 1, 4)
(0, 2, 0)
(0, 2, 1)
(0, 2, 2)
(0, 2, 3)
(0, 2, 4)
(1, 0, 0)
(1, 0, 1)
(1, 0, 2)
...
(3, 2, 3)
(3, 2, 4)

你的问题不清楚。你能说得更具体些吗?需要做什么?输出背后的逻辑是什么?另外,请添加您的代码,并告诉我们您的代码有什么问题?您需要显示到目前为止您尝试了什么。@Kasramvd我需要生成每个可能的列表,其中列表的每个元素都是正数,并且不大于相关索引中给出的数字。有一些范围!这能概括吗?(因为我的列表中的元素数量可变)