Есть много способов сделать это.Я думаю, что вы немного усложняете, написав эти функции.
Первый способ решить эту проблему, который мне пришёл в голову, - это создать список со всеми буквами в каждой строке, отсортировать их и сравнить оба списка:
def check_for_anagrams(string1, string2):
list1 = list(string1.lower())
list2 = list(string2.lower())
list1.sort()
list2.sort()
return list1 == list2
это может быть не самый элегантный способ сделать это, но это быстрое решение.функция lower () превращает строки в строчные буквы. Функция sort () для списков сортирует список.
если две строки являются анаграммами, результатом этих операций будут два равных списка.
EDIT: Проверьте возможный дубликат потока, там есть несколько хороших решений!