Методы строк: преобразование, поиск, split, join

Тема дорожной карты · Python Programming

Строки неизменяемы, поэтому каждый «метод» возвращает новую строку. Бери str.strip/lstrip/rstrip для чистки ввода, str.split/str.rsplit и str.join для токенизации, str.replace и str.translate для подстановок, а str.startswith/str.endswith/in — до регулярок. Форматируй через f-строки; мини-язык формата отвечает за выравнивание, числа и даты. Для регистра без локали используй str.casefold. Не строй строки через += в цикле — собирай в список и "".join(...).

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

Методы строк: преобразование, поиск, split, join покрывает четыре встроенных контейнера (list, tuple, set, dict) плюс модуль collections (Counter, defaultdict, deque, namedtuple, OrderedDict). Списки — изменяемые упорядоченные последовательности с O(1) append; кортежи — неизменяемые; множества — на хешах с O(1) проверкой членства; словари — хеш-таблицы с гарантированным порядком вставки с Python 3.7. Comprehensions ([x*2 for x in xs]) создают эти контейнеры в одном выражении и обычно быстрее явных циклов.

Когда применять

Выбор контейнера диктует паттерн доступа: list — упорядоченный доступ по индексу, tuple — fixed-size записи или ключи словаря, set — членство/дедуп, dict — поиск по ключу. Comprehensions — когда трансформация очевидна (читаемый one-liner); generator expressions — когда данных много и их можно стримить. Берите collections.Counter для подсчёта частот, defaultdict чтобы избежать setdefault-бойлерплейта, deque для FIFO/LIFO с O(1) на обоих концах.

Типичные ошибки

Ловушки Методы строк: преобразование, поиск, split, join: копирование вложенных списков через = (получаете ссылку, не копию — нужен copy.deepcopy); использование изменяемых объектов как ключей словаря (TypeError); итерация + мутация списка одновременно (размер меняется в цикле = пропуски); выбор list-of-tuples вместо dict — и O(1) превращается в O(n). Профилируйте через timeit, прежде чем считать comprehension быстрее — иногда явный цикл с .append выигрывает в ясности.

Связанные понятия

Полезные ресурсы