没有置换但也有置换的排列

时间:2019-04-17 22:41:29

标签: python

我对编码非常陌生,但是我需要一些帮助。我的问题是,如果我有代码:

import itertools
result = itertools.permutations('ABCD',4)
for i in result:
  print(i)

这给了我全部24个排列,但是我该如何编码相同的东西,但是如果字母是A B,B和C,就像您交换B一样,没有什么区别?

感谢您能提供的任何帮助,

3 个答案:

答案 0 :(得分:1)

我相信您是指combinations

只需使用itertools.combinations()

答案 1 :(得分:0)

只需将其转到set,它将删除重复项。如果那是您的要求。

import itertools
result = itertools.permutations('ABBD',4)
result = set(result)
for i in result:
  print(i)

答案 2 :(得分:0)

另一种方法是生成置换并在其上使用set

result = itertools.permutations('ABBC',4)
>>> b = set(result)
>>> len(b)
12