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 подскажет развёрнутый ответ в реальном времени.