В python split — метод, позволяющий оперировать выводом, в частности — извлечь часть строки, отделенную каким-то образом от остального содержимого. Это аналог awk в bash. Разделителем может быть запятая, двоеточие, пробел и т.п.
python split
Для примера рассмотрим строку с несколькими абстрактными значениями, разделенными запятыми.
> string_with_comas="thing1, thing2, thing3"
> string_with_comas.split(",")
['thing1', ' thing2', ' thing3']
После применения метода split данные представляют собой список (list).
>type(string_with_comas)
<class 'str'>
> type(string_with_comas.split(","))
<class 'list'>
Методу split передается разделитель — запятая,вертикальная черта, тире, двоеточие или что-то иное.
Если аргумент не указывать — разбиение произойдет по пробелам.
> string_with_comas.split()
['thing1,', 'thing2,', 'thing3']
> long_string="Filler text is text that shares some characteristics of a real written text, but is random or otherwise generated. It may be used to display a sample of fonts, generate text for testing, or to spoof an e-mail spam filter."
> long_string.split()
['Filler', 'text', 'is', 'text', 'that', 'shares', 'some', 'characteristics', 'of', 'a', 'real', 'written', 'text,', 'but', 'is', 'random', 'or', 'otherwise', 'generated.', 'It', 'may', 'be', 'used', 'to', 'display', 'a', 'sample', 'of', 'fonts,', 'generate', 'text', 'for', 'testing,', 'or', 'to', 'spoof', 'an', 'e-mail', 'spam', 'filter.']
Поскольку на выходе лист, с его элементами можно работать обращаясь к ним по индексу:
> long_string.split()[7]
'characteristics'
Метод splitlines
С многострочным текстом нужно работать иначе
>> long_string='''
... Filler text is text that shares some characteristics of a real
... written text, but is random or otherwise generated. It may be used to display a
... sample of fonts, generate text for testing, or to spoof an e-mail spam filter.'''
split нужного результат не даст и чтобы получить list с отдельными словами требуется выполнить два действия:
1)
Применить метод splitlines
> long_string.splitlines()
[», 'Filler text is text that shares some characteristics of a real', 'written text, but is random or otherwise generated. It may be used to display a', 'sample of fonts, generate text for testing, or to spoof an e-mail spam filter.']
На выходе будет list из содержимого строк
2)
Далее каждая строка разбирается в цикле for
> for line in long_string.splitlines():
… print (line.split())
[]
['Filler', 'text', 'is', 'text', 'that', 'shares', 'some', 'characteristics', 'of', 'a', 'real']
['written', 'text,', 'but', 'is', 'random', 'or', 'otherwise', 'generated.', 'It', 'may', 'be', 'used', 'to', 'display', 'a']
['sample', 'of', 'fonts,', 'generate', 'text', 'for', 'testing,', 'or', 'to', 'spoof', 'an', 'e-mail', 'spam', 'filter.']
Про методы find и index в Python.