python 重复N次列表的组合

eig*_*foo 1 python

我有一个列表l = [1, 2, 3, 4, 5],希望生成所有可能的组合,假设 的元素l重复N多次。

示例:[1, 2, 3, 4, 5] 且 N = 2 将产生

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

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

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

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

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

谢谢!

Sam*_*ord 5

你要itertools.product

>>> from itertools import product
>>> list(map(list, product([1, 2, 3, 4, 5], repeat=2)))
[[1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5]]
Run Code Online (Sandbox Code Playgroud)