Автор оригинала: Dmitry Belaventsev.
Позвольте мне начать серию «Вопрос на собеседование Python» с этим довольно общим вопросом. Тепы и списки 2, казалось бы, подобные типы последовательности в Python. И я люблю этот вопрос, потому что глубина ответа является хорошим показателем опыта кандидата.
Буквальный синтаксис. Самый очевидный способ получить необходимую структуру данных – это позвонить подходящим типом – кортеж
или Список
Отказ И вы также можете использовать синтаксический сахар для создания либо списка (используя квадратные скобки и запятые, чтобы объявить элементы) или TUL (с использованием запятых, чтобы объявить элементы и при желании скобка для уменьшения двусмысленности).
Мультипликация. Кортеры неизменяются, а списки измеряются. Этот момент является основой для следующих.
Использование памяти. Из-за мультипликации вам нужно больше памяти для списков и меньше памяти для кортежей.
Расширение. Вы можете добавить новый элемент для кортежей, так и списков с единственной разницей, что идентификатор кортежа будет изменен (то есть, у нас будет новый объект).
Хеширование. Кортеры хмары и списки нет. Это означает, что вы можете использовать кортеж в качестве ключа в словаре.
Семантика. Этот момент больше о лучшей практике. Вы должны использовать кортежи как гетерогенные структуры данных, а списки являются последовательностями гомогенной.
Ссылки: