Alle Anagramme eines WORTES bilden in Python?

2 Antworten

Mit der permutations()-Funktion aus itertools erhält man einfach einen Iterator, welche alle Permutationen des Wortes durchgehen kann.

Der Iterator liefert für einen String jeweils Listen von Zeichen, wobei man die Zeichen beispielsweise mit ''.join(Liste) wieder zu einem String zusammensetzen kann.

Beispielcode:

from itertools import permutations
Wort = 'ABCD'
Anagramme = {''.join(p) for p in permutations('ABCD')}
print(Anagramme)

Dieser Beispielcode liefert dann als Ausgabe:

{'BCAD', 'CDAB', 'DBCA', 'CBAD', 'ABDC', 'ADCB', 'ACBD', 'BCDA', 'DCBA', 'DABC', 'BDAC', 'BDCA', 'DACB', 'ABCD', 'ACDB', 'CADB', 'CABD', 'CDBA', 'BADC', 'BACD', 'ADBC', 'DBAC', 'DCAB', 'CBDA'}