我有一个数字列表:[0, 0, 1, 1, 2, 2]
我想要 2 个数字的所有组合,我尝试使用 itertools 来实现:
import itertools
a = [0, 0, 1, 1, 2, 2]
combinations = set(itertools.permutations(a, 2))
print(combinations)
# {(0, 1), (1, 2), (0, 0), (2, 1), (2, 0), (1, 1), (2, 2), (1, 0), (0, 2)}
我想将列表中的所有数字用于组合,但 itertools 没有这样做。
所以,我想得到这样的结果:
(0, 0), (0, 1), (0, 1), (1, 0), (1, 0) ...
因此,由于我们有两个 0 和两个 1,所以我们将有两个 (0, 1) 组合等等。
最佳答案
集合是一种没有重复的数据结构。使用列表:
import itertools
a = [0, 0, 1, 1, 2, 2]
combinations = list(itertools.permutations(a, 2))
print(combinations)
关于Python。查找具有设定长度的所有可能的数字组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40037118/