Методы append() и extend()

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

Тренажер по Python

В этом модуле мы углубимся в работу со списками в Python, а именно изучим два ключевых метода для добавления элементов: append() и extend().

Хотя оба метода увеличивают список, они работают по-разному:

  • append(x) добавляет элемент x в конец списка "как есть". Если добавить список, он станет одним вложенным элементом.
  • extend(iterable) расширяет список, добавляя в него каждый элемент из переданной последовательности (списка, строки, кортежа).

В этом уроке вы научитесь выбирать правильный метод в зависимости от задачи, избегать ошибок с типами данных и понимать, как изменяется структура списка после выполнения этих операций.

Список тем

Добавление одного элемента

id: 40004_task_replace_append_1

У нас есть список фруктов. Допишите код так, чтобы добавить строку 'Orange' в конец списка, используя метод, который добавляет элемент как единое целое.

Заполните пропуски
fruits = ['Apple', 'Banana']
# Добавляем 'Orange'
fruits.input1S(input2S)
print(fruits)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Объединение списков

id: 40004_task_replace_extend_2

Есть основной список заказов и новый список, пришедший позже. Используйте метод, который "распакует" new_orders и добавит каждый его элемент в orders по отдельности.

Заполните пропуски
orders = [101, 102]
new_orders = [103, 104]
# Расширяем orders элементами из new_orders
orders.input1S(input2S)
print(orders)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что окажется внутри списка?

id: 40004_task_predict_nested_3

Внимательно посмотрите на код. Мы используем метод append для добавления списка [3, 4] к списку [1, 2]. Каким будет результат?

Выберите правильный вариант ответа
a = [1, 2]
b = [3, 4]
a.append(b)
print(a)
Сообщения
Проверить
Показать подсказку

Сопоставьте код и результат

id: 40004_task_compare_behavior_4

Сопоставьте операцию над списком nums = [1] с тем результатом, который получится после её выполнения.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Результат: [1, 2, 3]
Результат: [1, [2, 3]]
Результат: [1, '2', '3']
nums.extend([2, 3])
nums.append([2, 3])
nums.extend("23")
Сообщения
Проверить
Показать подсказку

Как изменится длина списка?

id: 40004_task_sort_len_5

У нас есть исходный список lst = [10]. Распределите команды по двум категориям: те, что увеличат длину списка ровно на 1, и те, что увеличат её на 2.

Перетяните элементы в соответствующие блоки
Длина увеличится на 1
Длина увеличится на 2
lst.append(5)
lst.append([1, 2])
lst.extend([1, 2])
lst.extend('AB')
Сообщения
Проверить
Показать подсказку

Исправьте ошибку добавления

id: 40004_task_error_syntax_6

Мы хотим добавить число 100 в конец списка scores. Однако, использован метод, который ожидает итерируемый объект (список, строку), а не одно число, из-за чего возникает ошибка TypeError: 'int' object is not iterable. Замените метод на правильный.

Найдите ошибку и исправьте
scores = [50, 60, 70]
scores.extend(100)
print(scores)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Формирование списка гостей

id: 40004_task_bfp_logic_7

Соберите код, который создает список гостей. Сначала добавьте 'Alice', а затем объедините список с группой друзей ['Bob', 'Charlie']. Итоговый список должен быть плоским (без вложенных списков).

Перетяните в правильном порядке строки из одного блока в другой
guests = []
guests.append('Alice')
friends = ['Bob', 'Charlie']
guests.extend(friends)
print(guests)
guests.append(friends)
guests.extend('Alice')
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Заполнение списка данными из переменных

id: 40004_task_bank_vars_8

Допишите код так, чтобы сначала добавить в stack значение переменной item, а затем расширить его элементами из списка extras. Используйте правильные методы.

Нужно правильно расставить в пропуски предложенные варианты
stack = ['start']
item = 'middle'
extras = ['end', 'finish']

# Добавляем одиночный элемент
stack.input1S(input2S)

# Добавляем элементы из списка
stack.input3S(input4S)
append
extend
item
extras
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Вычислите итоговую длину списка

id: 40004_task_give_res_len_9

Проанализируйте последовательность операций. Каким будет результат вызова len(data) в конце кода? Введите число.

Что должно получиться?
data = [1]
data.extend([2, 3])
data.append([4, 5])
print(len(data))
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру