Определение вывода при обращении к срезу списка

Будет выведен пустой список []. Срез допускает границы за пределами списка; индекс 5 находится после всех элементов, поэтому в выбранную часть ничего не попадает.

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

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

Будет выведен пустой список []. Срез допускает границы за пределами списка; индекс 5 находится после всех элементов, поэтому в выбранную часть ничего не попадает.

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

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

Условие

Имеется фрагмент кода на Python, который выводит часть списка. Список letters содержит элементы ['a', 'b', 'c', 'd']. Требуется выяснить, какой результат будет напечатан при выполнении следующего кода.

Код:

letters = ['a', 'b', 'c', 'd']
print(letters[5:])

Варианты ответа:

  • c
  • b
  • d
  • произойдет ошибка
  • []
  • a

Ответ

Будет выведен пустой список []. Срез допускает границы за пределами списка; индекс 5 находится после всех элементов, поэтому в выбранную часть ничего не попадает.

Длина letters равна четырём, а допустимые индексы отдельных элементов — от 0 до 3. Но операция среза не равна обращению по индексу:

print(letters[5:])  # []
# letters[5]       # IndexError

При положительном шаге границы среза ограничиваются длиной последовательности. Начало и конец фактически совпадают на конце списка, поэтому результат пуст. Исходный список не изменяется, а срез создаёт новый список.

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

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

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

Подробнее