Je suis un peu confus au sujet de ce qui peut/ne peut pas être utilisé comme une clé pour un 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
Donc un n-uplet est immuable type, mais si je me cache dans une liste à l'intérieur de lui, il ne peut pas être une clé.. je n'ai pas pu tout aussi facilement masquer une liste à l'intérieur d'un module?
J'avais une vague idée que la clé est d'être "hashable" mais je vais avouer mon ignorance sur les détails techniques, je ne sais pas ce qui se passe vraiment ici. Ce serait aller mal si vous avez essayé d'utiliser des listes de clés, avec le hash comme, pour ainsi dire, de leur emplacement de mémoire?