我怎样才能生成这个?

Adi*_*219 -1 python list python-3.x

给定a 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]
Run Code Online (Sandbox Code Playgroud)

我需要生成每个列表,其中列表的每个元素都是正数,并且不大于相关索引处给出的数字.

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

ffe*_*rri 6

itertools.product() 可以做的工作:

from itertools import product
l = [3,2,4]
print(*product(*[range(i+1) for i in l]), sep='\n')
Run Code Online (Sandbox Code Playgroud)

会打印:

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