Разделяет ли функция разделения Python новую строку или пробел по умолчанию

Я изучаю Python. В частности, я читал о методе разделения строки Python и узнал, что разделителем по умолчанию для split является пробел. Итак, я понимаю, как работает следующее:

text = 'Hello World'
print(text.split())   #this should print ['Hello', 'World'] which it does

Вывод вышеуказанной программы в Python3.6 ['Hello', 'World'] соответствует ожидаемому, потому что в приведенной выше строковой переменной text у нас есть пробелы.

Но затем я попробовал следующий пример:

text = 'Hello\nWorld'
print(text.split())    #this should print ['Hello\nWorld'] but it doesn't 

Фактический результат вышеизложенного:

['Hello', 'World']  #this shouldn't happen because there is no whitespace in text

В то время как ожидаемый результат вышеизложенного:

['Hello\nWorld']    #this should happen because there is no whitespace in text

Как видите, поскольку между 'Hello' и 'World' нет пробела, вывод должен быть ['Hello\nWorld'], потому что \n не является пробелом, а пробел является разделителем по умолчанию для метода split.

Что здесь происходит.

новые строки считаются пробел

Sayse 22.03.2022 18:23
text = 'Hello\nWorld'print(text.split(" ")) вернётся ['Hello\nWorld']
GreyMurav 22.03.2022 18:23

Я не совсем уверен, почему за это проголосовали, я думаю, люди думали, что это легко найти ответ в документах, но это только в том случае, если вы знали, что нужно искать определение пробелов в Python

Sayse 22.03.2022 23:52
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
49
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

If sep is not specified or is None, a different splitting algorithm is applied: runs of consecutive whitespace are regarded as a single separator and the result will contain no empty strings at the start or end if the string has leading or trailing whitespace.

Табуляция (\t), перевод строки (\n), пробелы и т. д. Все они считаются символами пробел, поскольку технически служат одной цели. В Космос вещи.

Другие вопросы по теме