TGViewer
Python Portal Python Portal @pythonportal · 50.2K subscribers
Post #5618 7.65K
Проверка на анаграммы

У вас есть две строки; как проверить, являются ли они анаграммами? Анаграммы — это слова или фразы, содержащие один и тот же набор символов, но в другом порядке. Например, “listen” и “silent” — анаграммы друг друга, потому что используют одни и те же буквы.

Если вы хотите проверить, являются ли две строки анаграммами, можно использовать Counter() из модуля collections. Counter() поддерживает проверку на равенство. По сути, мы можем использовать его, чтобы проверить, равны ли переданные объекты. В приведённом ниже коде мы проверяем, являются ли a и b анаграммами.

from collections import Counter

my_word = 'test'
another_word = 'stot'
print(Counter(my_word.casefold()) == Counter(another_word.casefold()))


Вывод: True

Мы также можем использовать функцию sorted() для проверки, являются ли две строки анаграммами. По умолчанию функция sorted() сортирует переданную строку по возрастанию. Поэтому, когда мы передаём строки в sorted() и сравниваем их на равенство, сначала строки сортируются, а затем сравниваются. См. код ниже:

def check_anagrams(str1, str2):
return sorted(str1) == sorted(str2)

my_word = 'lost'
another_word = 'stol'
result = check_anagrams(my_word, another_word)
print(result)


Если вы не хотите использовать какие-либо встроенные методы, можно воспользоваться ручным подходом. В этом методе вы пишете код, чтобы проверить, содержат ли обе строки одинаковые символы.

def check_anagrams(str1, str2):
if len(str1) != len(str2):
return False
for char in str1:
if str1.count(char) != str2.count(char):
return False
return True

my_word = 'lost'
another_word = 'stol'
print(check_anagrams(my_word, another_word))


Вывод: True

В этом коде сначала проверяется, имеют ли строки одинаковую длину. Если длины различаются, функция возвращает False.

👉 @PythonPortal
  • 👍 9
  • ❤ 5
  • 😁 1
More from @pythonportal
  1. Oct 6, 2026«Разбираемся в трансформерах и механизмах внимания» — краткое математическое введение в ме…
  2. Oct 6, 2026Начни изучать программирование GPU с одной полностью анимированной лекции на YouTube. Это…
  3. Oct 5, 2026«Основы компьютерного зрения» — бесплатная онлайн-книга издательства MIT Press, которая да…
  4. Oct 5, 2026DeepSeek выложила в открытый доступ библиотеку, которая ускоряет вычисления на GPU, лежащи…
  5. Oct 4, 2026Modern Robotics: Mechanics, Planning, and Control. Сохраните на потом. Это полноценный уче…
  6. Oct 4, 2026«Изучение математики. Почему память, практика и техника важнее таланта» Чтобы освоить мате…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →