Какой вывод можно сделать из следующего кода?

Код выведет 1, затем [2, 3, 4], затем 5. Звёздочка при распаковке собирает промежуточные элементы в отдельный список b.

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

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

Код выведет 1, затем [2, 3, 4], затем 5. Звёздочка при распаковке собирает промежуточные элементы в отдельный список b.

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

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

Условие

Какой вывод можно сделать из следующего кода?

numbers = [1, 2, 3, 4, 5]
a, *b, c = numbers
print(a)
print(b)
print(c)

Ответ

Код выведет 1, затем [2, 3, 4], затем 5. Звёздочка при распаковке собирает промежуточные элементы в отдельный список b.

Обычные цели слева и справа забирают обязательные элементы, а звёздочная цель — всё оставшееся:

1
[2, 3, 4]
5

Исходный список numbers не изменяется. Для двух элементов b оказался бы пустым списком; для одного возник бы ValueError, потому что нужны значения и для a, и для c. Звёздочная часть всегда создаёт список, даже если распаковывался кортеж или другой итерируемый объект. Это расширенная распаковка, а не срез с общей памятью.

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

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

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

Подробнее