Распаковка присваивает элементы нескольким именам и проверяет ожидаемую структуру, а индексирование извлекает отдельную позицию. Распаковка работает не только с кортежами, но и с другими iterable.
В чем разница между распаковкой кортежей и доступом по индексу в Python?
Распаковка присваивает элементы нескольким именам и проверяет ожидаемую структуру, а индексирование извлекает отдельную позицию. Распаковка работает не только с кортежами, но и с другими iterable.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
В чем разница между распаковкой кортежей и доступом по индексу в Python?
Пожалуйста, дайте ответ на этот вопрос устно.
Ответ
Распаковка присваивает элементы нескольким именам и проверяет ожидаемую структуру, а индексирование извлекает отдельную позицию. Распаковка работает не только с кортежами, но и с другими iterable.
Например, x, y = point удобно для известной пары, а point[0] — когда нужен один элемент. Несовпадение числа элементов при обычной распаковке вызывает ValueError; first, *rest = values собирает остаток. Выход за допустимый индекс вызывает IndexError. Имена после распаковки обычно делают фиксированную структуру понятнее, чем повторяющиеся числовые индексы.