Какие методы строк в Python вы используете чаще всего и для каких задач?
Назовите 3-5 любимых методов (.split(), .strip(), .join() и т.д.). Приведите реальный пример, как вы очищаете или форматируете текстовые данные.
3 ответа
Мой рабочий набор при чистке данных, по убыванию частоты:
.strip()— убрать пробелы и переводы строк по краям. Данные из выгрузок без него не живут;.split()— разрезать строку по разделителю. Приятная деталь: без аргументов режет по любому количеству пробелов;.join()— собрать обратно:';'.join(parts);.lower()— привести к одному регистру перед сравнением, иначе «Москва» и «москва» окажутся разными городами;.replace()— точечные замены вродеreplace(',', '.')перед float().
И дежурный приём, который делает большую часть чистки одной строкой: ' '.join(s.split()) — схлопывает внутренние пробелы до одного и убирает крайние.
У меня самый заезженный — .endswith('.jpg') при разборе папок с файлами. Причём ему можно дать сразу кортеж расширений: name.endswith(('.jpg', '.png')). Узнала об этом через год после того, как писала то же самое двумя условиями.
Плюсую к strip и split, от себя добавлю пару: .startswith() / .endswith() — проверять начало и конец без ручных срезов, и .isdigit() — быстрая проверка «а число ли ввели» перед int(). Пользовательский ввод нормализую связкой raw.strip().lower() — она одна отсекает половину сюрпризов при сравнении строк.