Какой вывод получит программа, использующая различные срезы списка?

Будут напечатаны ['c', 'd'], затем ['e'], затем []. Начальная граница среза включается, конечная исключается; выход за длину при срезе не вызывает IndexError.

Короткий ответ

Что ответить на собеседовании

Будут напечатаны ['c', 'd'], затем ['e'], затем []. Начальная граница среза включается, конечная исключается; выход за длину при срезе не вызывает IndexError.

Подробный разбор

Ответ с пояснениями

Условие

Определите, что появится в стандартном выводе после выполнения следующего фрагмента Python‑кода, где демонстрируются срезы списка с разными диапазонами индексов.


data = ['a', 'b', 'c', 'd', 'e']
print(data[2:4])
print(data[4:])
print(data[10:])

Ответ

Будут напечатаны ['c', 'd'], затем ['e'], затем []. Начальная граница среза включается, конечная исключается; выход за длину при срезе не вызывает IndexError.

Точный вывод:

['c', 'd']
['e']
[]

data[2:4] берёт элементы с индексами 2 и 3. data[4:] берёт всё от индекса 4 до конца. Для data[10:] начало оказывается за последним элементом, поэтому возвращается пустой список. Каждый срез создаёт новый список; исходный data не меняется. Это отличается от data[10], где возникла бы ошибка индекса.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее