排列没有但也有点重复

问题描述 投票:0回答:3

我对编码很新,但我需要一些帮助。我的问题是如果我有代码:

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

这让我得到了所有24个排列,但是我如何编码相同的东西,但如果字母是A B,B和C,例如,就像你交换Bs一样,它没有区别?

我很感激能得到的任何帮助,谢谢。

python
3个回答
0
投票

只需将其转换为set即可删除重复项。如果那就是你要问的。

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

1
投票

我相信你指的是combinations

只需使用itertools.combinations()


0
投票

另一种方法是生成排列并使用set

result = itertools.permutations('ABBC',4)
>>> b = set(result)
>>> len(b)
12
© www.soinside.com 2019 - 2024. All rights reserved.