Короткий ответ
split() и join() — парные методы строк, выполняющие противоположные операции: split() разбивает строку на список подстрок, а join() собирает список строк обратно в одну строку.
Как это работает подробнее
Важно помнить, что join() вызывается у строки-разделителя, а не у списка: разделитель.join(список).
- Разбиение.
str.split(sep)делит строку по заданному разделителю; если он не указан, строка разбивается по пробельным символам. - Склейка.
sep.join(list_of_strings)объединяет элементы списка, вставляя между ними указанный разделитель. - Ограничение. Вторым аргументом
split()можно задать максимальное число разбиений. - Неизменяемость. Строка в Python неизменяема, поэтому оба метода не меняют исходный объект, а создают новые.
Пример кода
Разбиение строки и сборка обратно
text = 'This is a string.'
parts = text.split(' ') # разделитель — пробел
print(parts) # ['This', 'is', 'a', 'string.']
print(' '.join(parts)) # This is a string. — собрали обратноЧто использовать на практике
- Разбор ввода. Используй
split()для обработки пользовательского ввода, CSV-подобных строк и текстовых данных. - Сборка строк. Применяй
join(), когда нужно собрать строку из фрагментов, — это быстрее, чем конкатенация в цикле. - Пустой разделитель. Вызов
''.join(parts)склеивает фрагменты без разделителя — удобно, когда он не нужен. - Пробелы по умолчанию.
split()без аргумента режет строку по любым пробельным символам и схлопывает их повторы — полезно при очистке текста.