@delnan: я добавил последний абзац, чтобы уточнить.
ного озадачен тем, что можно / нельзя использовать в качестве ключа для python dict.
dicked = {}
dicked[None] = 'foo' # None ok
dicked[(1,3)] = 'baz' # tuple ok
import sys
dicked[sys] = 'bar' # wow, even a module is ok !
dicked[(1,[3])] = 'qux' # oops, not allowed
Таким образом, кортеж является неизменяемым типом, но если я спрятал список внутри него, то это не может быть ключ ... не мог ли я так же легко спрятать список внутри модуля?
У меня было какое-то смутное представление о том, что ключ должен быть «хэшируемым», но я просто собираюсь признать свое собственное незнание технических деталей; Я не знаю, что на самом деле здесь происходит. Что может пойти не так, если вы попытаетесь использовать списки в качестве ключей с хешем, скажем, как место их памяти?