这个问题在这里已有答案:
来自itertools的命令排列
permutations([0,1,1])
回报
(0, 1, 1), (0, 1, 1), (1, 0, 1), (1, 1, 0), (1, 0, 1), (1, 1, 0)
有没有办法回归
(0,1,1), (1,0,1), (1,1,0)
也就是说,对于任意整数列表获取所有排列,但如果原始列表中的元素重复,则没有重复元素?
您可以将返回的值强制转换为集合:
print(list(set(permutations([0,1,1]))))
输出:
[(0, 1, 1), (1, 1, 0), (1, 0, 1)]