您可以使用itertools.product 轻松完成此操作
>>> from itertools import product
>>> A
[1, 2, 0]
>>> B = list(product(*[list(range(e+1)) for e in A]))
>>> B
[(0, 0, 0), (0, 1, 0), (0, 2, 0), (1, 0, 0), (1, 1, 0), (1, 2, 0)]
>>>
如果你想要 o/p 作为列表的列表,请将元组转换为列表
>>> B = [list(e) for e in B]
>>> B
[[0, 0, 0], [0, 1, 0], [0, 2, 0], [1, 0, 0], [1, 1, 0], [1, 2, 0]]
>>>
如果你不想使用itertools.product,你可以自定义实现product
>>> B = [[]];
>>> for t in [range(e+1) for e in A]:
... B = [x+[y] for x in B for y in t]
...
>>> B
[[0, 0, 0], [0, 1, 0], [0, 2, 0], [1, 0, 0], [1, 1, 0], [1, 2, 0]]
>>>