В этом модуле мы углубимся в работу со списками в Python, а именно изучим два ключевых метода для добавления элементов: append() и extend().
Хотя оба метода увеличивают список, они работают по-разному:
- append(x) добавляет элемент x в конец списка "как есть". Если добавить список, он станет одним вложенным элементом.
- extend(iterable) расширяет список, добавляя в него каждый элемент из переданной последовательности (списка, строки, кортежа).
В этом уроке вы научитесь выбирать правильный метод в зависимости от задачи, избегать ошибок с типами данных и понимать, как изменяется структура списка после выполнения этих операций.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Создание списков.
- Индексация и срезы списков.
- Методы append() и extend().
- Функции len(), min(), max(), sum().
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Добавление одного элемента
У нас есть список фруктов. Допишите код так, чтобы добавить строку 'Orange' в конец списка, используя метод, который добавляет элемент как единое целое.
fruits = ['Apple', 'Banana']
# Добавляем 'Orange'
fruits.input1S(input2S)
print(fruits)Объединение списков
Есть основной список заказов и новый список, пришедший позже. Используйте метод, который "распакует" new_orders и добавит каждый его элемент в orders по отдельности.
orders = [101, 102]
new_orders = [103, 104]
# Расширяем orders элементами из new_orders
orders.input1S(input2S)
print(orders)Что окажется внутри списка?
Внимательно посмотрите на код. Мы используем метод append для добавления списка [3, 4] к списку [1, 2]. Каким будет результат?
a = [1, 2]
b = [3, 4]
a.append(b)
print(a)Сопоставьте код и результат
Сопоставьте операцию над списком nums = [1] с тем результатом, который получится после её выполнения.
nums.extend([2, 3])nums.append([2, 3])nums.extend("23")Как изменится длина списка?
У нас есть исходный список lst = [10]. Распределите команды по двум категориям: те, что увеличат длину списка ровно на 1, и те, что увеличат её на 2.
lst.append(5)lst.append([1, 2])lst.extend([1, 2])lst.extend('AB')Исправьте ошибку добавления
Мы хотим добавить число 100 в конец списка scores. Однако, использован метод, который ожидает итерируемый объект (список, строку), а не одно число, из-за чего возникает ошибка TypeError: 'int' object is not iterable. Замените метод на правильный.
scores = [50, 60, 70]scores.extend(100)print(scores)Формирование списка гостей
Соберите код, который создает список гостей. Сначала добавьте 'Alice', а затем объедините список с группой друзей ['Bob', 'Charlie']. Итоговый список должен быть плоским (без вложенных списков).
guests = []guests.append('Alice')friends = ['Bob', 'Charlie']guests.extend(friends)print(guests)guests.append(friends)guests.extend('Alice')Заполнение списка данными из переменных
Допишите код так, чтобы сначала добавить в stack значение переменной item, а затем расширить его элементами из списка extras. Используйте правильные методы.
stack = ['start']
item = 'middle'
extras = ['end', 'finish']
# Добавляем одиночный элемент
stack.input1S(input2S)
# Добавляем элементы из списка
stack.input3S(input4S)Вычислите итоговую длину списка
Проанализируйте последовательность операций. Каким будет результат вызова len(data) в конце кода? Введите число.
data = [1]
data.extend([2, 3])
data.append([4, 5])
print(len(data))