Python。查找具有设定长度的所有可能的数字组合

标签 python algorithm combinations

我有一个数字列表:[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/

相关文章:

python - 声明在 DBus 上订阅了哪些信号?

python - Spark ML 中的维度不匹配错误

python - 在 csv 的单个单元格中写入多个值

java - 找出数组列表中所有可能的组合 : java

python - 列表列表内和列表之间的排列 [python]

python - 如何选取函数返回的 x 元组的某些元素?

c++ - 给定一个字符串,找到两个具有连续索引的相同子序列 C++

algorithm - 在 m 次迭代中均匀分布 n 个项目

java - 使用计数器的 Douglas Peucker 算法

c# - Linq算术运算符组合