Короткий ответ
Да, убрать все пробелы из строки можно несколькими способами: связкой ''.join(s.split()), методом replace(' ', '') или списковым включением, отфильтровывающим пробельные символы.
Как это работает подробнее
Выбор способа зависит от того, что именно нужно сделать с пробелами: удалить полностью, снять по краям или схлопнуть серии.
- Полное удаление.
split()без аргумента режет строку по любым пробельным символам, а''.join(...)склеивает слова без разделителя — все пробелы исчезают. - Замена.
replace(' ', '')заменяет каждый пробел на пустую строку — подходит, когда нужно убрать только обычные пробелы. - Фильтрация. Включение
''.join(c for c in s if c != ' ')оставляет все символы, кроме пробела. - Края и схлопывание.
strip(),lstrip()иrstrip()убирают пробелы с концов строки, а' '.join(s.split())заменяет серии пробелов одним.
Пример кода
Три способа удалить все пробелы
s = 'aaa bbb ccc ddd eee'
# Способ 1: split + join
print(''.join(s.split())) # 'aaabbbcccdddeee'
# Способ 2: replace
print(s.replace(' ', '')) # 'aaabbbcccdddeee'
# Способ 3: list comprehension
print(''.join(c for c in s if c != ' ')) # 'aaabbbcccdddeee'Что использовать на практике
- Очистка ввода. При обработке пользовательского ввода, текстовых файлов и внешних данных удаляй лишние пробелы через
split()иjoin(). - Только края. Если пробелы нужно убрать лишь по краям строки, применяй
strip(),lstrip()илиrstrip().