разбить строку на произвольное количество пробелов

Я пытаюсь найти самый питонический способ разбить строку, как

"несколько слов в строке"

в отдельные слова.string.split(' ') работает нормально, но возвращает список пустых записей в списке. Конечно, я мог бы повторить список и удалить пробелы, но мне было интересно, есть ли лучший способ?

Ответы на вопрос(5)

>>> a = "some words in a string"
>>> a.split(" ")
['some', 'words', 'in', 'a', 'string']

поэтому я думаю, что есть кое-что еще о вашей строке. в противном случае это должно работать

если у вас есть более одного пробела, просто используйте split () без параметров

>>> a = "some words in a string     "
>>> a.split()
['some', 'words', 'in', 'a', 'string']
>>> a.split(" ")
['some', 'words', 'in', 'a', 'string', '', '', '', '', '']

или это будет просто разделить на один пробел

text = "".join([w and w+" " for w in text.split(" ")])

Как насчет:

re.split(r'\s+',string)

\s коротка для любого пробела. Так\s+ является непрерывным пробелом.

использованиеstring.split() без аргумента илиre.split(r'\s+', string) вместо:

>>> s = 'some words in a string   with  spaces'
>>> s.split()
['some', 'words', 'in', 'a', 'string', 'with', 'spaces']
>>> import re; re.split(r'\s+', s)
['some', 'words', 'in', 'a', 'string', 'with', 'spaces']

Издокументы:

Еслиsep не указано или являетсяNoneприменяется другой алгоритм разбиения: серии последовательных пробелов рассматриваются как один разделитель, и результат не будет содержать пустых строк в начале или конце, если строка имеет начальный или конечный пробел. Следовательно, разбиение пустой строки или строки, состоящей только из пробелов, с помощьюNone возврат разделителя[].

Решение Вопроса

my_str.split() без' '.

Более того, вы также можете указать, сколько разделений нужно выполнить, указав второй параметр:

>>> ' 1 2 3 4  '.split(None, 2)
['1', '2', '3 4  ']
>>> ' 1 2 3 4  '.split(None, 1)
['1', '2 3 4  ']

Ваш ответ на вопрос