Простой Python. Современный стиль программирования (Любанович) - страница 30

>0

Вы можете использовать функцию len() и для других типов последовательностей, что показано в главе 3.

Разделяем строку с помощью функции split()

В отличие от функции len() некоторые функции характерны только для строк. Для того чтобы использовать строковую функцию, введите имя строки, точку, имя функции и аргументы, которые нужны функции: строка. функция(аргументы). Более подробно о функциях мы будем говорить в разделе «Функции» главы 4.

Вы можете использовать встроенную функцию split(), чтобы разбить строку на список небольших строк, основываясь на разделителе. Со списками вы познакомитесь в следующей главе. Список — это последовательность значений, разделенных запятыми и окруженных квадратными скобками:

>>>> todos = 'get gloves,get mask,give cat vitamins,call ambulance'

>>>> todos.split(',')

>['get gloves', 'get mask', 'give cat vitamins', 'call ambulance']

В предыдущем примере строка имела имя todos, а строковая функция называлась split() и получала один аргумент ','. Если вы не укажете разделитель, функция split() будет использовать любую последовательность пробелов, а также символы новой строки и табуляцию:

>>>> todos.split()

>['get', 'gloves,get', 'mask,give', 'cat', 'vitamins,call', 'ambulance']

Если вы вызываете функцию split без аргументов, вам все равно нужно добавлять круглые скобки — именно так Python узнает, что вы вызываете функцию.

Объединяем строки с помощью функции join()

Для вас не должен стать великим открытием тот факт, что функция join() является противоположностью функции split(): она объединяет список строк в одну строку. Вызов функции выглядит немного запутанно, поскольку сначала вы указываете строку, которая объединяет остальные, а затем — список строк для объединения: string.join(list). Для того чтобы объединить список строк lines, разделив их символами новой строки, вам нужно написать '\n'.join(lines). В следующем примере мы объединим несколько имен в список, разделенный запятыми и пробелами:

>>>> crypto_list = ['Yeti', 'Bigfoot', 'Loch Ness Monster']

>>>> crypto_string = ', '.join(crypto_list)

>>>> print('Found and signing book deals:', crypto_string)

>Found and signing book deals: Yeti, Bigfoot, Loch Ness Monster

Развлекаемся со строками

Python содержит большой набор функций для работы со строками. Рассмотрим принцип работы самых распространенных из них. Объектом для тестов станет следующая строка, содержащая текст бессмертного стихотворения What Is Liquid? Маргарет Кэвендиш (Margaret Cavendish), графини Ньюкасл:

>>>> poem = '''All that doth flow we cannot liquid name