我有一个包含std::pair<unsigned long, unsigned long>
对象的。我尝试使用std::next_permutation()
生成向量对象的排列组合。然而,我希望这些排列组合的大小是固定的,就像python中的permutations
函数一样,可以指定期望返回的排列组合的大小。
基本上,这就是的等价物。
import itertools
list = [1,2,3,4,5,6,7]
for permutation in itertools.permutations(list, 3):
print(permutation)
(1, 2, 3)
(1, 2, 4)
(1, 2, 5)
(1, 2, 6)
(1, 2, 7)
(1, 3, 2)
(1, 3, 4)
..
(7, 5, 4)
(7, 5, 6)
(7, 6, 1)
(7, 6, 2)
(7, 6, 3)
(7, 6, 4)
(7, 6, 5)
(1, 1)
?Python 的排列函数提供了重复的[(1, 1), (1, 1)]
,而std::next_permutation
则避免了重复(只有{1, 1}
)。 - Jarod42