Итак, я написал эту маленькую программу на Python, которая создает анаграммы из введенных букв и языка, но она вылетает, как только введенное слово имеет слишком много возможных выходных данных или просто слишком длинное. Как я могу улучшить свой код, чтобы он стал более производительным / эффективным?
def createAnagrams(word, language):
dictLanguage = enchant.Dict(language) #library that can check if word exists
existingWords = []
for i in range(1, len(word)+1):
for j in permutations(word, i):
existingWords.append("".join(j))
existingWords = set(existingWords) #remove duplicates
existingWords = list(existingWords) #change back to list to be able to iterate through it
for k in range(len(existingWords)):
if(dictLanguage.check(existingWords[k])) and (len(existingWords[k])>1): #if word exists and longer than 1 char print it
print(existingWords[k])
Работает для таких слов, как "привет", "Патрик", "Вчера", но вылетает для таких слов, как "объявления", "подписки". Хотелось бы получить ожидаемый вывод для более длинных слов.
Заранее спасибо