Строковые методы split() и join() в Python
Задачи по строкам и решения к ним у нас в телеграм канале PythonTurbo
При работе со строками в Python вам может потребоваться разбить строку на подстроки или, наоборот, объединить несколько мелких кусочков в одну большую строку. В этой статье мы рассмотрим методы split() и join(), которые как раз и используются для разделения и объединения строк. Мы на примерах разберем, как они помогают легко выполнять необходимые нам задачи.
Важно отметить, что поскольку строки в Python неизменяемы, вы можете вызывать для них методы, не изменяя исходные строки. Итак, давайте начнем!
Метод split()
Когда вам нужно разбить строку на подстроки, вы можете использовать метод split().
Метод split() принимает строку и возвращает список подстрок. Синтаксис данного метода выглядит следующим образом:
<string>.split(sep,maxsplit)
Здесь <string>
– любая допустимая строка в Python, а sep
– это разделитель, по которому вы хотите разделить исходную строку. Его следует указывать в виде строки.
Например, если вы хотите разделить <string>
по запятым, нужно установить sep = ","
.
sep
– необязательный аргумент. По умолчанию метод split() разбивает строки по пробелам.
maxsplit
– еще один опциональный аргумент, указывающий, сколько раз вы хотите разделить исходную строку <string>
. По умолчанию maxsplit
имеет значение -1. При таком значении метод разбивает строку по всем вхождениям параметра sep.
Если вы хотите разделить исходную строку на две части, по первому вхождению запятой, вы можете установить maxsplit = 1
. Так вы получите две подстроки: части исходной строки до и после первой запятой.
Таким образом, при одном разрезе строки вы получаете 2 подстроки. При двух разрезах — 3 подстроки. то есть, разрезая строку k раз, вы получите k+1 фрагментов.
Давайте рассмотрим несколько примеров, чтобы увидеть метод split() в действии.
Примеры использования метода split() в Python
Зададим строку my_string
, как это показанного ниже. После этого вызовем метод split() для my_string
без аргументов sep
и maxsplit
.
my_string = "I code for 2 hours everyday" my_string.split() # ['I', 'code', 'for', '2', 'hours', 'everyday']
Вы можете видеть, что my_string
разделена по всем пробелам. Метод возвращает список подстрок.
Рассмотрим следующий пример. Здесь my_string
содержит названия фруктов, разделенные запятыми.
Давайте разделим my_string
по запятым. Для этого нужно установить sep = ","
или просто передать в метод ","
при вызове.
my_string = "Apples,Oranges,Pears,Bananas,Berries" my_string. split(",") # ['Apples', 'Oranges', 'Pears', 'Bananas', 'Berries']
Как и ожидалось, метод split() вернул список фруктов, где каждый фрукт из my_string
стал элементом списка.
Теперь давайте воспользуемся необязательным аргументом maxsplit
и установив его равным 2.
my_string.split(",", 2) # ['Apples', 'Oranges', 'Pears,Bananas,Berries']
Попробуем разобрать получившийся список.
Напомним, что my_string = "Apples,Oranges,Pears,Bananas,Berries"
, и мы решили разделить эту строку по запятым «,»
.
Первая запятая стоит после Apples
, и после первого разделения у нас будет две подстроки: Apples
и Oranges,Pears,Bananas,Berries
.
Вторая запятая стоит после Oranges
. Таким образом, после второго деления у нас будет уже три подстроки: Apples
, Oranges
и Pears,Bananas,Berries
.
Сделав два разреза строки, мы достигли установленного максимума, и дальнейшее деление невозможно. Поэтому часть строки после второй запятой объединяется в один элемент в возвращаемом списке.
Надеюсь, теперь вы понимаете, как работает метод split() и для чего нужны аргументы sep
и maxsplit
.
Метод join()
Теперь, когда вы знаете, как разбить строку на подстроки, пора научиться использовать метод join() для формирования строки из подстрок.
Синтаксис метода Python join() следующий:
<sep>.join(<iterable>)
Здесь <iterable>
– любой итерируемый объект Python, содержащий подстроки. Это может быть, например, список или кортеж. <sep>
– это разделитель, с помощью которого вы хотите объединить подстроки.
По сути, метод join() объединяет все элементы в <iterable>
, используя <sep>
в качестве разделителя.
А теперь пора примеров!
Примеры использования метода join() в Python
В предыдущем разделе мы разбивали строку my_string
по запятым и получали в итоге список подстрок. Назовем этот список
.
Теперь давайте сформируем строку, объединив элементы этого списка при помощи метода join(). Все элементы в my_list
– это названия фруктов.
my_list = my_string.split(",") # после разделения my_string мы получаем my_list: # ['Apples', 'Oranges', 'Pears', 'Bananas', 'Berries']
Обратите внимание, что разделитель для присоединения должен быть указан именно в виде строки. В противном случае вы столкнетесь с синтаксическими ошибками.
Чтобы объединить элементы в
с использованием запятой в качестве разделителя, используйте ","
а не просто ,
. Это показано во фрагменте кода ниже.
", ".join(my_list) # Output: Apples, Oranges, Pears, Bananas, Berries
Здесь элементы my_list
объединяются в одну строку с помощью запятых, за которыми следуют пробелы.
Разделитель может быть любым.
Давайте для примера используем в качестве разделителя 3 символа подчеркивания
.
"___".join(my_list) # Output: Apples___Oranges___Pears___Bananas___Berries
Элементы в my_list
теперь объединены в одну строку и отделены друг от друга тремя подчеркиваниями ___
.
Теперь вы знаете, как сформировать одну строку из нескольких подстрок с помощью метода join().
Заключение
Итак, мы рассмотрели строковые методы split() и join(). Из этой статьи вы узнали следующее:
<string>.split (sep, maxsplit)
разбивает исходную строку<string>
по вхождениям разделителяsep
,maxsplit
раз.<sep>.join(<iterable>)
объединяет подстроки в итерируемый объект<iterable>
, используя<sep>
в качестве разделителя.
Надеюсь, вам была полезна данная статья. Успехов в написании кода!
Более 50 задач на строки в нашем телеграм канале Python Turbo. Уютное сообщество Python разработчиков.
Перевод статьи «Python String split() and join() Methods – Explained with Examples».
str.split в Python
16 jul. 15 19:36 13 dec. 17 16:28
Разбивает строку на части, используя разделитель, и возвращает эти части списком. Направление разбиения: слева направо.
str.split(sep[, maxsplit])
-> list
sep=None — Строка-разделитель, при помощи которой требуется разбить исходную строку. Может содержать как один, так и несколько символов. Если не указан, то используется специальный алгоритм разбиения, для которого разделителем считается последовательность пробельных символов.
maxsplit=-1 — Максимальное количество разбиений, которое требуется выполнить. Если ‘-1’, то количество разбиений не ограничено.
Если указан разделитель, разбиение пустой строки вернёт список с единственным элементом — пустой строкой: ['']
.
'1,2,3'.split(',') # ['1', '2', '3']
'1,2,3'.split(',', maxsplit=1) # ['1', '2,3']'1,2,,3,'.split(',') # ['1', '2', '', '3', '']
# сравните с '1 2 3'.split()
Если разделитель не указан, разбиение пустой строки вернёт пустой список: []
.
'1 2 3'.split() # ['1', '2', '3']'1 2 3'.split(maxsplit=1) # ['1', '2 3'] ' 1 2 3 '.split() # ['1', '2', '3']
# сравните с '1,2,,3,'.split(',')
В случаях, когда требуется, чтобы разбиение строки происходило справа налево, используйте str.rsplit. Когда требуется разбить строку на три составляющие (начало, разделитель, конец), используйте str. partition.
Синонимы поиска: str.split, str, split, разбить, разделить, ыздше
В разделе «str (строка)»:
str.capitalize
str.casefold
str.center
str.count
str.encode
str.endswith
str.expandtabs
str.find
str.



У нас есть представительство в Facebook. Ссылка в самом низу страницы.
Метод Python String split() (с примерами)
Метод split()
отделяет строку от указанного разделителя и возвращает объект списка со строковыми элементами.
Разделителем по умолчанию является любой пробельный символ, такой как пробел, \t
, \n
и т. д.
Синтаксис:
ул.сплит(разделитель, макссплит)
Параметры:
- разделитель: (необязательно) Строка-разделитель. Разделителем по умолчанию является любой пробельный символ, например пробел, 9.0003\t ,
\n
и т.д.
- maxsplit: (необязательно) Определяет максимальное количество разделений, которые можно выполнить. Таким образом, список может содержать не более
maxsplit + 1
элемента. По умолчанию maxsplit равен -1, что означает неограниченное количество сплитов.
Возвращаемое значение:
Возвращает объект списка со строковыми элементами.
В следующем примере показано простое использование метода split()
.
mystr = 'Привет, мир' печать (mystr.split()) print('Привет, мир'.split()) print('Привет\tWorld'.split()) print('Привет\nМир'.split()) print('Hello\u2028World'.split())
['Привет', 'Мир'] ['Привет, мир'] ['Привет, мир'] ['Привет, мир'] ['Привет, мир']
В приведенном выше примере вся строка разбивается на символы пробела по умолчанию, такие как ‘ ‘, ‘ ‘, ‘\t’ и ‘\n’, и возвращает список ['Привет', 'Мир']
.
Даже он разбивается на символ Unicode разделителя строк ‘\ u2028’.
В следующих примерах указан разделитель.
языков = 'C, Python, R, Java, SQL, Hadoop' печать (langs.split (',')) фрукты = 'яблоки$банан$манго$инжир$груша' печать (фрукты.split ('$'))
['C', 'Python', 'R', 'Java', 'SQL', 'Hadoop'] ['яблоки', 'банан', 'манго', 'инжир', 'груша']
В приведенном выше примере langs.split(',')
указывает запятую ,
в качестве разделителя, а fruit.split('$')
указывает символ $
в качестве разделителя.
Таким образом, метод split()
разделит строку по каждому разделителю и включит каждую часть строки в список.
Если указанный разделитель не существует, то он возвращает список со всей строкой в качестве элемента.
языков = 'C, Python, R, Java, SQL, Hadoop' печать (langs.split ('@'))
['C, Python, R, Java, SQL, Hadoop']
Метод split()
вызовет ошибку ValueError
, если разделителем является пустая строка ''
.
В следующем примере разделение ограничивается указанием параметра maxsplit
.
языков = 'C, Python, R, Java, SQL, Hadoop' печать (langs.split (',', 3)) фрукты = 'яблоки$банан$манго$инжир$груша' печать (фрукты.split ('$', 2))
['C', 'Python', 'R', 'Java, SQL, Hadoop'] ['яблоки', 'банан', 'манго$фиг$груша']
В приведенном выше примере langs.split(',', 3)
указывает 3 в качестве аргумента maxsplit, поэтому он разделит строку langs
3 раза, и поэтому объект списка включает четыре элемента. Четвертый элемент — это оставшаяся строка.
Точно так же fruit.split('$', 2)
будут разделены максимум два раза, а возвращаемый список будет включать три элемента.
Обзор функции Split() [обновлено]
Функция обработки строк в Python, используемая для разбиения большой строки на несколько меньших строк, в Python называется функцией split(). Функция split() возвращает строки в виде списка.
Функцию Split() можно использовать несколькими способами. Они:
- Разделение строки на основе пробела-разделителя
- Разделение строки по первому вхождению символа
- Разделение данного файла на список
- Разделение строки на основе символа новой строки разделителя
- Разделение строки на основе табуляции-разделителя
- Разделение строки на основе запятой-разделителя
- Разделение строки на основе нескольких разделителей
- Разделение строки на список
- Разделение строки на основе хеша-разделителя
- Разделение строки путем передачи параметра maxsplit
- Разделение строки на массив символов
- Разделение строки на основе одной из подстрок заданной строки в качестве разделителя
Разделение строки на основе пробела-разделителя:
Данная строка или строка отделяются с помощью функции split() с пробелом в качестве разделителя.
Пример 1:
Программа Python для демонстрации функции split() в Python с пробелом в качестве разделителя:
#создание строковой переменной для хранения разделяемой строки
string_to_be_split = ‘Мы любим Simplilearn’
# использование функции split() с пробелом в качестве разделителя для разделения заданной строки на более мелкие строки
печать(string_to_be_split.split(» «))
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки по первому вхождению символа:
Данная строка или строка отделяется с помощью функции split() с первым вхождением символа из строки, указанной в качестве разделителя.
Пример 2:
Программа Python для демонстрации функции split() в Python с первым вхождением заданного символа в строку в качестве разделителя:
string_to_be_split = ‘Упрощенное обучение’
# использование функции split() с первым вхождением данного символа в строку в качестве разделителя для разделения данной строки на более мелкие строки
печать(string_to_be_split. split(«i»))
Вывод вышеуказанной программы показан на снимке ниже:
Разделение данного файла на список:
Данные в файле разбиты на несколько строк, и каждая строка возвращается как элемент списка с помощью функции разделения, называемой в Python функцией splitlines().
Пример 3:
Программа Python для демонстрации функции splitlines() в Python для разделения данных в данном файле на список:
# открытие файла в режиме чтения с помощью функции open()
fileopen = open(«C:/Users/admin/Desktop/images/example.txt», «r»)
# чтение содержимого файла с помощью функции read()
чтение файла = открытие файла.чтение()
# использование функции splitlines() для отображения содержимого файла в виде списка
печать (чтение файла.splitlines())
файлopen.close()
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки на основе символа новой строки разделителя:
Данная строка или строка отделяются с помощью функции split() с символом новой строки в качестве разделителя.
Пример 4:
Программа Python для демонстрации функции split() в Python с символом новой строки в качестве разделителя:
string_to_be_split = ‘Мы\n любим\n Simplilearn’
# использование функции split() с пробелом в качестве разделителя для разделения заданной строки на более мелкие строки
печать(string_to_be_split.split(«\n»))
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки на основе табуляции разделителя:
Данная строка или строка отделяются с помощью функции split() с табуляцией в качестве разделителя.
Пример 5:
Программа Python для демонстрации функции split() в Python с табуляцией в качестве разделителя:
string_to_be_split = ‘Мы\t любим\t Simplilearn’
# использование функции split() с пробелом в качестве разделителя для разделения заданной строки на более мелкие строки
print(string_to_be_split.split(«\t»))
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки на основе запятой-разделителя:
Данная строка или строка отделяются с помощью функции split() с запятой в качестве разделителя.
Пример 6:
Программа Python для демонстрации функции split() в Python с запятой-разделителем:
string_to_be_split = ‘Мы, любимая, Simplilearn’
# использование функции split() с пробелом в качестве разделителя для разделения заданной строки на более мелкие строки
string_after_split = string_to_be_split.split(«,»)
печать (string_after_split)
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки на основе нескольких разделителей:
В качестве параметра функции split() можно указать несколько разделителей, разделив каждый разделитель символом |. Данная строка или строка с несколькими разделителями отделяется с помощью функции разделения, называемой функцией re.split().
Пример 7:
Программа Python для демонстрации функции re.split() в Python для разделения данной строки или строки с несколькими разделителями:
#импорт модуля re
импорт по
string_to_be_split = ‘Мы любим\n Simplilearn’
# использование функции re. split() с запятой и символом новой строки в качестве разделителей для разделения заданной строки на более мелкие строки
print(re.split(«,|\n», string_to_be_split))
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки на список:
Данную строку или строку можно разделить на список с помощью функции split() с любыми разделителями.
Пример 8:
Программа Python для демонстрации функции split() в Python для разделения данной строки или строки с любым разделителем:
string_to_be_split = ‘Мы: любим: Simplilearn’
# использование функции split() с : в качестве разделителя для разделения заданной строки на более мелкие строки
печать (string_to_be_split.split(«:»))
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки на основе хэш-разделителя:
Данная строка или строка отделяются с помощью функции split() с хешем в качестве разделителя.
Пример 9:
Программа Python для демонстрации функции split() в Python для разделения заданной строки или строки с разделителем в виде хеша:
string_to_be_split = ‘Мы # любим # Simplilearn’
# использование функции split() с символом # в качестве разделителя для разделения заданной строки на более мелкие строки
печать(string_to_be_split.split(«#»))
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки путем передачи параметра Maxsplit.
Максимальное количество разбиений, которое функция split() может выполнить для данной строки или строки, можно указать с помощью параметра maxsplit и передать в качестве аргумента функции split().
Пример 10:
Программа Python для демонстрации функции split() в Python с параметром maxsplit:
string_to_be_split = ‘Добро пожаловать в Simplilearn’
# использование функции split() с параметром maxsplit для разделения заданной строки на более мелкие строки
print(string_to_be_split. split(» «, 2))
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки на массив символов:
Данную строку или строку можно разделить на список, состоящий из каждого символа как элементов списка, с помощью функции разделения, называемой функцией list().
Пример 11:
Программа Python для демонстрации функции list() в Python для разделения данной строки или строки на несколько символов, каждый из которых является элементом списка:
string_to_be_split = ‘Упрощенное обучение’
# использование функции list() для разделения заданной строки на список
печать (список (string_to_be_split))
Вывод вышеуказанной программы показан на снимке ниже:
Разделение строки на основе одной из подстрок заданной строки в качестве разделителя:
Функцию split() можно использовать для разделения данной строки или строки, указав одну из подстрок данной строки в качестве разделителя. Строка до и после подстроки, указанной в качестве разделителя, возвращается в качестве вывода.
Пример 12:
Программа Python для демонстрации функции split() в Python для разделения заданной строки или строки на несколько символов с одной из подстрок данной строки в качестве разделителя:
string_to_be_split = ‘Добро пожаловать в Simplilearn’
# использование функции split() с одной из подстрок данной строки в качестве разделителя для разделения данной строки на более мелкие строки
print(string_to_be_split.split(«to»))
Вывод вышеуказанной программы показан на снимке ниже:
Как использовать метод split() с параметрами?
В следующем примере показано разделение с использованием параметров метода split():
myString = «Дорогие друзья, если вы любите читать, читайте дальше» печать(myString.split(«, «)) |
Выход
[‘Дорогие друзья’, «если вы любите читать», «читайте дальше»] |
В приведенном выше примере в качестве разделителя используется запятая (,): myString. split(«, «).
Таким образом, символы разделяются не после каждого пробела, а только при появлении запятой. Поэтому символы, стоящие перед запятой, группируются вместе.
В следующем примере показано использование второго параметра – maxsplit.
myString = «Дорогие друзья, если вы любите читать, читайте дальше» печать (myString.split («, «, 0)) |
Выход
[«Дорогие друзья, если вы любите читать, читайте дальше»] |
Когда значение maxsplit указано равным 0, это подразумевает 1. Таким образом, символы возвращаются как один элемент в списке.
При изменении номера результаты меняются следующим образом:
myString = «Дорогие друзья, если вы любите читать, читайте дальше» печать(myString.split(«, «, 1)) |
Выход
[‘Дорогие друзья’, «если вы любите читать, читайте дальше»] |
При изменении числа на 1 персонажи разделяются на два пункта в списке: «Дорогие друзья» и «Если вы любите читать, читайте дальше».