# Solving and testing anagram checking (part 7072)

Разберём решение и сразу накроем его тестами — это хороший стиль работы с кодом.

## Задача

Определить, являются ли две строки анаграммами: состоят из одних и тех же букв с одинаковой частотой.

## Решение

```python
def are_anagrams(a: str, b: str) -> bool:
    return sorted(a.lower()) == sorted(b.lower())


print(are_anagrams("listen", "silent"))
```

## Как это работает

Анаграммы дают одинаковые отсортированные последовательности букв. Сортировка — простое и наглядное решение; словарь частот дал бы ту же проверку без сортировки.

## Пример работы

```text
True
```

## Сложность

O(n log n) из-за сортировки, O(n) по памяти.


## Проверка тестами

Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.

```python
assert is_valid(True) is not None  # базовая проверка вызова
assert is_valid(False) is not None  # и второй случай
```

Такой минимум уже защищает от случайной ошибки при правках кода.

С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.

**Читайте также:**

[тестами](https://yakihonne.com/article/naddr1qvzqqqr4gupzq8ud55epdzwcme3ca9pslfvng08ctyp94y697jnrgkls2cvevajaqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknwdfcxq6kzdtz94nx2cf3956rwdn9943rwdnr95exycn9vsmnyv3jvg6njusqdrk) · [частотой](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [проверок](https://adamnowak48.wixsite.com/my-site-1/post/%D8%B3%D9%83%D8%B3-%D9%85%D8%B1%D8%A7%D8%AA-%D8%A7%D8%A8%D9%88%D9%87-%D9%85%D8%AA%D8%B1%D8%AC%D9%85-%D8%A7%D9%81%D9%84%D8%A7%D9%85-%D8%B3%D9%83%D8%B3-%D8%A7%D9%84%D8%AE%D9%84%D9%8A%D8%AC-%D8%A7%D9%84%D9%85%D8%AA%D8%B1%D8%AC%D9%85%D8%A9) · [сортировки](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-a464e3.pdf) · [решение](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [работы](https://news-ctl-posts.hashnode.dev/exploring-removing-duplicates-from-a-list-part-6112) · [становится](https://hey.xyz/posts/vafcvkw02y815gpja8) · [return](https://darkandlightru.com/%E6%A1%A5%E6%9C%AC%E9%A6%99%E8%8F%9C?f=linkcentre) · [одинаковые](https://bokepindon.onlyfansarchive.live/ocel+selebgram+viral?f=linkcentre) · [Определить](https://paste2.org/Mgz5e7xn) · [привычка](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [проверка](https://lisogor.net.ua/join/sks+mslmh?f=linkcentre) · [проверять](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/thestartofus-naked-999666.pdf) · [последовательности](https://hey.xyz/posts/373xs1sm7wqa8tnn6w1) · [python](https://sway.cloud.microsoft/KsGtCmHq8fKSmlPN) · [Пример](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/is-prime-dva-sposoba-mvbulmoq.md) · [стиль](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/gachiakuta-r34-6413bc.pdf) · [словарь](https://drop.xtrafrancyz.net/selif/7fx3gczhzu.pdf) · [Проверка](https://kamasutraontheweb.com/julia+k.barni?f=linkcentre) · [вызова](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/sieve-oshibki-mvbxu3qo.md) · [делает](https://gal39218.carrd.co/) · [Такой](https://discuss.tchncs.de/post/65439903) · [ошибки](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/brook-monk-leaks-d1ee2b.pdf)

