Списки в Python: 12 задач на индексы, методы и точный вывод

Чтобы решить задачу на список в Python 3, записывайте его состояние после каждого действия и отдельно отмечайте, что передано в `print`. Ниже — четыре разбора и восемь заданий с ответами.

Каждый фрагмент самостоятельный: переменные из предыдущего в нём не используются. В выводе сохраняйте квадратные скобки, запятые и порядок строк.

Как читать индекс и результат метода

Первый элемент списка имеет индекс 0. Срез включает элемент с начальным индексом, но не включает элемент с конечным. Метод может изменить список, а функция `sorted` возвращает новый отсортированный список. Справку по этим операциям можно найти в документации Python.

Важно различать состояние списка и результат вызова: `print(a)` выводит список, а `print(x)` — значение, записанное в `x`. В заданиях сначала определите, что изменилось, и только потом записывайте вывод.

Четыре разбора изменения и чтения списка

1. Добавление в конец

Предскажите точный вывод этого самостоятельного фрагмента Python 3.

«`python a = [4, 1, 7] a.append(3) print(a)

«`

Метод `append` добавляет число 3 после последнего элемента. В `print` передан весь изменённый список, а не результат вызова метода.

«`text [4, 1, 7, 3]

«`

2. Замена по индексу

Предскажите точный вывод этого самостоятельного фрагмента Python 3.

«`python a = [8, 2, 5] a[1] = 6 print(a)

«`

Индекс 1 указывает на второй элемент. Вместо 2 записывается 6; первый и третий элементы остаются на местах.

«`text [8, 6, 5]

«`

3. Срез по двум границам

Предскажите точный вывод этого самостоятельного фрагмента Python 3.

«`python a = [2, 4, 6, 8] print(a[1:3])

«`

В срез попадают элементы с индексами 1 и 2. Элемент с индексом 3 уже за правой границей.

«`text [4, 6]

«`

4. Сортировка без изменения исходного списка

Предскажите точный вывод этого самостоятельного фрагмента Python 3.

«`python a = [9, 3, 7] print(sorted(a)) print(a)

«`

Первый `print` выводит новый отсортированный список. Второй выводит `a` в исходном порядке: вызов `sorted(a)` его не изменил.

«`text [3, 7, 9] [9, 3, 7]

«`

Восемь задач на операции со списком

Для каждого фрагмента предскажите точный вывод. Ответы расположены после всех заданий.

5. Сумма элементов

«`python a = [3, 6, 2, 5] print(sum(a))

«`

6. Количество совпадений и длина

«`python a = [5, 5, 2, 5] print(a.count(5)) print(len(a))

«`

7. Вставка по индексу

«`python a = [7, 9] a.insert(1, 0) print(a)

«`

8. Удалённый элемент и остаток

«`python a = [6, 8, 1] x = a.pop() print(x) print(a)

«`

9. Удаление совпадающего значения

«`python a = [2, 7, 2, 9] a.remove(2) print(a)

«`

10. Добавление в копию

«`python a = [1, 4] b = a.copy() b.append(8) print(a) print(b)

«`

11. Последний элемент

«`python a = [8, 3, 6] print(a[-1])

«`

12. Срез с шагом

«`python a = [10, 20, 30, 40, 50] print(a[::2])

«`

Ответы к задачам 5–12

5. Сумма

«`text 16

«`

`sum` складывает все четыре числа: 3 + 6 + 2 + 5 = 16.

6. Совпадения и длина

«`text 3 4

«`

Пятёрка встречается три раза, поэтому `count(5)` даёт 3. Всего в списке четыре элемента, поэтому `len(a)` даёт 4.

7. Вставка

«`text [7, 0, 9]

«`

Ноль вставляется перед прежним элементом с индексом 1. Число 9 сдвигается вправо; оно не заменяется.

8. Результат `pop`

«`text 1 [6, 8]

«`

`pop()` без индекса удаляет последний элемент и возвращает его. В `x` записана 1, а в списке остаются 6 и 8.

9. Первое совпадение

«`text [7, 2, 9]

«`

`remove(2)` удаляет первое найденное значение 2. Вторая двойка остаётся в списке.

10. Плоская копия

«`text [1, 4] [1, 4, 8]

«`

`b` — отдельная копия списка, поэтому добавление 8 меняет `b`, но не `a`. Здесь список плоский: вложенных изменяемых объектов нет.

11. Отрицательный индекс

«`text 6

«`

Индекс −1 обращается к последнему элементу непустого списка. Здесь это число 6.

12. Каждый второй элемент

«`text [10, 30, 50]

«`

Шаг 2 выбирает элементы с индексами 0, 2 и 4. Получается новый список из чисел 10, 30 и 50.

Если практикум нужен ребёнку как часть более широкого знакомства с кодом, пригодится статья «Как научить ребёнка программированию бесплатно».