Методы split() и join()

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

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

Список тем

Основы метода split()

id: 39997_task_1

Метод split() без аргументов разбивает строку по пробельным символам. Проанализируйте код и выберите, какой список будет получен в результате.

Выберите правильный вариант ответа
text = "Python   is  awesome"
words = text.split()
print(words)
Сообщения
Проверить
Показать подсказку

Сборка строки методом join()

id: 39997_task_2

Нам нужно создать строку формата "HTML-CSS-JS" из списка технологий. Заполните пропуски, чтобы корректно вызвать метод join.

Заполните пропуски
stack = ['HTML', 'CSS', 'JS']
# Нам нужен результат: "HTML-CSS-JS"
result = input1S.input2S(input3S)
print(result)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сопоставьте код и действие

id: 39997_task_3

Сопоставьте фрагменты кода с их описанием. Обратите внимание на разделители.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Разбивает строку по запятым
Разбивает строку по пробелам
Собирает строку из списка через пробел
Объединяет список в сплошную строку без знаков
s.split()
s.split(',')
''.join(lst)
' '.join(lst)
Сообщения
Проверить
Показать подсказку

Исправьте ошибку вызова join()

id: 39997_task_4

Новичок попытался объединить список слов в предложение, но перепутал синтаксис. Метод join вызывается не у списка, а у строки-разделителя. Исправьте код.

Найдите ошибку и исправьте
words = ['Clean', 'Code', 'Rules']
sentence = words.join(' ')
print(sentence)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Разбиение по символу

id: 39997_task_5

Что произойдет, если разделитель стоит в самом конце строки? Проанализируйте результат работы split(';').

Выберите правильный вариант ответа
data = "apple;banana;cherry;"
items = data.split(';')
print(items)
Сообщения
Проверить
Показать подсказку

Типы данных результата

id: 39997_task_6

Распределите выражения по двум категориям: те, что возвращают Список (list), и те, что возвращают Строку (str).

Перетяните элементы в соответствующие блоки
Возвращает List
Возвращает String
"a,b,c".split(',')
"-".join(['a', 'b'])
"hello world".split()
"".join(['1', '2', '3'])
list("abc")
Сообщения
Проверить
Показать подсказку

Переворот предложения

id: 39997_task_7

Соберите код, который принимает фразу "Hello World", переворачивает порядок слов и выводит "World Hello". Строки "decoy" использовать не нужно.

Перетяните в правильном порядке строки из одного блока в другой
s = "Hello World"
words = s.split()
reversed_words = words[::-1]
result = " ".join(reversed_words)
print(result)
words = s.split('')
result = words.join(" ")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Длина списка после разбиения

id: 39997_task_8

Проанализируйте строку даты и определите, чему будет равна переменная count. Введите число.

Что должно получиться?
date = "2023-10-05"
parts = date.split('-')
count = len(parts)
print(count)
Сообщения
Проверить
Показать подсказку

Парсинг CSV строки

id: 39997_task_9

Дана строка с данными пользователя, разделенными точкой с запятой: "Ivan;25;Developer". Заполните пропуски, чтобы извлечь имя, возраст и профессию.

Нужно правильно расставить в пропуски предложенные варианты
user_data = "Ivan;25;Developer"
# Разбиваем строку
info_list = user_data.input1S(input2S)

name = info_list[0]
age = info_list[input3S]
job = info_list[2]
split
';'
1
0
join
','
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру