Python 按上界生成列表

Python 按上界生成列表,python,list,Python,List,我想生成以下类型的列表 输入2,5 输出 [1,1],[1,2] [2,1],[2,2] [3,1],[3,2] [4,1],[4,2] [5,1],[5,2] [1,1,1] [1,1,2] [1,1,3] [1,1,4] [1,2,1] [1,2,2] [1,2,3] [1,2,4] [1,3,1] [1,3,2] [1,3,3] [1,3,4] [2,1,1] [2,1,2] [2,1,3] [2,1,4] [2,2,1] [2,2,2] [2,2,3] [2,2,4]

我想生成以下类型的列表

输入
2,5

输出

[1,1],[1,2]

[2,1],[2,2]

[3,1],[3,2]

[4,1],[4,2]

[5,1],[5,2]
[1,1,1] [1,1,2] [1,1,3] [1,1,4]

[1,2,1] [1,2,2] [1,2,3] [1,2,4]

[1,3,1] [1,3,2] [1,3,3] [1,3,4]

[2,1,1] [2,1,2] [2,1,3] [2,1,4]

[2,2,1] [2,2,2] [2,2,3] [2,2,4]

[2,3,1] [2,3,2] [2,3,3] [2,3,4]
[1,1,1] [1,1,2] [1,1,3]

[1,2,1] [1,2,2] [1,2,3]
i、 e.让每个索引从1运行到它的上限,我可以使用循环,如下所示

for i in range(1,3)

for j in range (1,6)

....
但是当输入变成
[1,2,3,4,5]…

例如

输入

输出

[1,1],[1,2]

[2,1],[2,2]

[3,1],[3,2]

[4,1],[4,2]

[5,1],[5,2]
[1,1,1] [1,1,2] [1,1,3] [1,1,4]

[1,2,1] [1,2,2] [1,2,3] [1,2,4]

[1,3,1] [1,3,2] [1,3,3] [1,3,4]

[2,1,1] [2,1,2] [2,1,3] [2,1,4]

[2,2,1] [2,2,2] [2,2,3] [2,2,4]

[2,3,1] [2,3,2] [2,3,3] [2,3,4]
[1,1,1] [1,1,2] [1,1,3]

[1,2,1] [1,2,2] [1,2,3]
输入

输出

[1,1],[1,2]

[2,1],[2,2]

[3,1],[3,2]

[4,1],[4,2]

[5,1],[5,2]
[1,1,1] [1,1,2] [1,1,3] [1,1,4]

[1,2,1] [1,2,2] [1,2,3] [1,2,4]

[1,3,1] [1,3,2] [1,3,3] [1,3,4]

[2,1,1] [2,1,2] [2,1,3] [2,1,4]

[2,2,1] [2,2,2] [2,2,3] [2,2,4]

[2,3,1] [2,3,2] [2,3,3] [2,3,4]
[1,1,1] [1,1,2] [1,1,3]

[1,2,1] [1,2,2] [1,2,3]

有什么优雅的方法吗?(最好使用python)

将它们全部转换为
范围并使用。Star解包使操作变得简单:

allranges = (range(1, lim+1) for lim in inputs)
for prod in itertools.product(*allranges):
    print(prod)