Ключ словаря-кэша: почему падает вторая строка
В сервисе есть локальный словарь-кэш, ключом служит пара «сущность + идентификатор»:
cache = {}
cache[("user", 1)] = "Иван"
cache[["user", 2]] = "Пётр"
Что произойдёт при выполнении этого фрагмента?
- Обе записи добавятся: Python приведёт список к кортежу автоматически
- Упадёт запись с кортежем: кортеж нельзя использовать как ключ словаря
- Упадёт запись со списком: список изменяем, и хеша у него нет
- Обе записи добавятся, но вторая перезапишет первую: ключи считаются равными
