У меня есть данные, которые содержат следующие 10 слов:
[A, B, C, D, E, F, G, H, I, J]
I иметь набор данных, который содержит комбинации таких слов, как:
- A, B
- A, B, C, D
- E, F, G
- Н ... и так далее.
Большинство комбинаций не повторяются, но, к сожалению, есть некоторые, которые повторяются. Я хочу преобразовать эти повторяющиеся комбинации, такие как:
- A, B, C, D, E
- C, A, B, D, E
- D, A, B, C, E и т. Д. (Для 10 элементов было бы около 9 миллионов повторяющихся комбинаций, но только 1023 неповторяющихся комбинации. Мои данные имеют около 1700, то есть некоторые повторения)
Я хочу преобразовать все это в одно уникальное значение (все три элемента имеют одинаковые слова в разном порядке, поэтому все три преобразуем в, скажем, A, B, C, D, E), который может быть любым, но должен выполняться для всех значений, имеющих одинаковые слова. Как сделать это, используя Python?
Я смог сгенерировать уникальные перестановки, используя эту формулу в python:
stuff = ['A','B','C','D','E','F','G','H','I','J']
combinations=list()
for L in range(1, len(stuff)+1):
for subset in itertools.combinations(stuff, L):
print(list(subset))
Как мне преобразовать эти 1700 в 1023 уникальных значения?