Easytuplelist
Чем tuple отличается от list?
1Постановка
Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.
2Решение
list — mutable, [1, 2, 3], методы append, extend, remove, sort. tuple — immutable, (1, 2, 3), почти нет методов (count, index). tuple memory efficient (на 30-50% меньше overhead).
# tuple — hashable, можно dict key / set element
locations = {(55.75, 37.61): "Moscow"}
# tuple как heterogeneous record (struct без класса)
user = ("Alice", 30, "alice@mail.com")
name, age, email = user # unpacking
# list — homogeneous, изменяемая последовательность
nums = [1, 2, 3]
nums.append(4)- tuple hashable если все элементы hashable;
- tuple с mutable элементами: содержимое mutable менять можно, заменить элемент — нельзя;
namedtuple/typing.NamedTuple— immutable record с named fields.
3Как отвечать
- Сначала уточните условия и ограничения, покажите аналитическое мышление.
- Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
- Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡
На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.