Содержимое изменяемых данных может модифицироваться после создания. Если вам каким-то волшебным образом удастся сделать список хешируемым, то при обновлении списка с изменением содержимого для него должен быть сгенерирован другой хеш-код. Но хеш-функция должна стабильно генерировать один и тот же хеш-код для одного объекта, и в данном случае хеш-код также должен оставаться неизменным для объекта list. Очевидно, изменение содержимого list, приводящее к изменению хеш-кода, не согласуется с предполагаемой стабильностью хеш-кода для существующего объекта list (рис. 3.7).
Рецепты Python. Коллекция лучших техник программирования
·
Цуй Ю.