【发布时间】:2017-03-06 13:30:23
【问题描述】:
我想从一组 N 个数字中生成长度为 k 的组合,其中顺序很重要,数字可以替换。例如,如果 k = 3,并且 N = [1, 2, 3],则候选输出将包括 (1, 1, 1), (2, 2, 2), (3, 2, 1) , (1, 2, 3)。
下面的代码我相信我快到了
x = list(itertools.combinations_with_replacement(range(1,4),3)
但这给出了顺序无关紧要的结果 - 即它认为 (1, 2, 3) 与 (3, 2, 1), (2, 3, 1) 等相同。
非常感谢任何帮助!
【问题讨论】:
-
你在乎有两倍的输出吗?你需要它是随机的吗?
-
排列不重复元素。
-
听起来你想要笛卡尔积。
标签: python combinations permutation combinatorics itertools