У меня есть отформатированная строка от файла журнала, который похож:
>>> a="test result"
Таким образом, тест и результат разделяются некоторыми пробелами - он был, вероятно, создан с помощью отформатированной строки, которая дала test
некоторый постоянный интервал.
Простое разделение не добьется цели:
>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
split(DELIMITER, COUNT)
очищенный некоторые ненужные значения:
>>> a.split(" ",1)
['test', ' result']
Это помогло - но конечно, мне действительно нужно:
['test', 'result']
Я могу использовать split()
сопровождаемый map
+ strip()
, но я задался вопросом, существует ли больше Pythonic способ сделать это.
Спасибо,
Adam
ОБНОВЛЕНИЕ: Такое простое решение! Спасибо всем.
Только не указывайте разделитель?
>>> a="test result"
>>> a.split()
['test', 'result']
>>> import re
>>> a="test result"
>>> re.split(" +",a)
['test', 'result']
>>> a.split()
['test', 'result']
Просто это должно работать:
a.split()
Пример:
>>> 'a b'.split(' ')
['a', '', '', '', '', '', 'b']
>>> 'a b'.split()
['a', 'b']
Если sep не указан или равен None, применяется другой алгоритм разделения: выполняется последовательное выполнение пробелов. рассматривается как один разделитель, и результат не будет содержать пустых строк в начале или в конце, если строка имеет начальные или конечные пробелы. Следовательно, разделение пустой строки или строки, состоящей только из пробелов, с разделителем None возвращает [].