В этом модуле мы разберем два фундаментальных метода работы со строками в Python: split() и join(). Эти методы являются зеркальным отражением друг друга. Метод split() позволяет разбить строку на список частей по определенному разделителю, что незаменимо при парсинге данных (например, CSV файлов или пользовательского ввода). Метод join(), наоборот, собирает список строк в одну целую строку, вставляя между элементами указанный разделитель. Мы научимся правильно выбирать разделители, избегать типичных ошибок при вызове методов и комбинировать их для решения практических задач.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Создание и конкатенация строк.
- Индексация и срезы строк.
- Методы split() и join().
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Основы метода split()
Метод split() без аргументов разбивает строку по пробельным символам. Проанализируйте код и выберите, какой список будет получен в результате.
text = "Python is awesome"
words = text.split()
print(words)Сборка строки методом join()
Нам нужно создать строку формата "HTML-CSS-JS" из списка технологий. Заполните пропуски, чтобы корректно вызвать метод join.
stack = ['HTML', 'CSS', 'JS']
# Нам нужен результат: "HTML-CSS-JS"
result = input1S.input2S(input3S)
print(result)Сопоставьте код и действие
Сопоставьте фрагменты кода с их описанием. Обратите внимание на разделители.
s.split()s.split(',')''.join(lst)' '.join(lst)Исправьте ошибку вызова join()
Новичок попытался объединить список слов в предложение, но перепутал синтаксис. Метод join вызывается не у списка, а у строки-разделителя. Исправьте код.
words = ['Clean', 'Code', 'Rules']sentence = words.join(' ')print(sentence)Разбиение по символу
Что произойдет, если разделитель стоит в самом конце строки? Проанализируйте результат работы split(';').
data = "apple;banana;cherry;"
items = data.split(';')
print(items)Типы данных результата
Распределите выражения по двум категориям: те, что возвращают Список (list), и те, что возвращают Строку (str).
"a,b,c".split(',')"-".join(['a', 'b'])"hello world".split()"".join(['1', '2', '3'])list("abc")Переворот предложения
Соберите код, который принимает фразу "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(" ")Длина списка после разбиения
Проанализируйте строку даты и определите, чему будет равна переменная count. Введите число.
date = "2023-10-05"
parts = date.split('-')
count = len(parts)
print(count)Парсинг CSV строки
Дана строка с данными пользователя, разделенными точкой с запятой: "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]