Вступить в клуб →
лёгкаявопросPython и асинхронность

Ключ словаря-кэша: почему падает вторая строка

В сервисе есть локальный словарь-кэш, ключом служит пара «сущность + идентификатор»:

cache = {}
cache[("user", 1)] = "Иван"
cache[["user", 2]] = "Пётр"

Что произойдёт при выполнении этого фрагмента?

  • Обе записи добавятся: Python приведёт список к кортежу автоматически
  • Упадёт запись с кортежем: кортеж нельзя использовать как ключ словаря
  • Упадёт запись со списком: список изменяем, и хеша у него нет
  • Обе записи добавятся, но вторая перезапишет первую: ключи считаются равными

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела