← Все вопросы
Чем split() без аргумента отличается от split(' ')?
17
Думал, что это одно и то же, но на строке с двойными пробелами получаю разный результат. В чём подвох?
3 ответа
28
✓ Принятый ответ — помог автору
Это разные вещи!
' a b '.split() # ['a', 'b']
' a b '.split(' ') # ['', '', 'a', '', '', 'b', '']
split() без аргумента бьёт по любым пробельным символам (пробелы, табы, переносы), схлопывает подряд идущие и отбрасывает пустышки по краям. А split(' ') бьёт строго по одному пробелу и честно возвращает пустые строки между ними. Для текста почти всегда нужен split() без аргумента.
Андрей Галиуллин Золотое правило: для слов — split() без всего · 5 месяцев назад
9
Коротко: split() умный (схлопывает пробелы), split(' ') тупой (по одному символу).
5
Без аргумента ещё и табы/переносы строк считает разделителями, а split(' ') — только пробел.
Ваш ответ
Войдите, чтобы ответить на вопрос.