来自 N 个位置的 K 个设计的场景 - Python

Scenarios from K number of designs in N number of positions - Python

我正在尝试生成所有可能的场景,我可以将 k 数量的设计放置在 n 数量的位置中。这应该给出 k^n 个场景。例如,假设 k = 2n = 3,所有情况都是:

n1 n2 n3
1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
2 2 2

所以必须有 8 (2^8) 个场景。

我已经从 itertools 中尝试了 combinationspermutationscombinations_with_replacement 但是 none 似乎给出了我正在尝试的解决方案。

是否有 python 函数来生成这个?

您正在寻找的产品:

for p in itertools.product(range(1,3),repeat = 3):
    print(p)

(1, 1, 1)
(1, 1, 2)
(1, 2, 1)
(1, 2, 2)
(2, 1, 1)
(2, 1, 2)
(2, 2, 1)
(2, 2, 2)