Liste en tant que clé de dictionnaire

Python soulève une erreur chaque fois que nous ajoutons une liste comme clé d'un dictionnaire.

Mais connais-tu la raison technique de cette erreur ? C'est ce que nous allons voir…

Tout d'abord, il faut comprendre que tout dans Python est un objet instancié à partir d'une classe. Chaque fois que nous ajoutons un objet comme clé d'un dictionnaire, Python invoque la fonction __hash__ de la classe de cet objet.

Alors que les classes int, str, tuple, frozenset, etc. implémentent la méthode __hash__, celle-ci est absente de la classe list. C'est pourquoi nous ne pouvons pas ajouter une liste comme clé d'un dictionnaire.

Ainsi, techniquement, si nous étendons la classe list et ajoutons cette méthode, une liste peut être ajoutée en tant que clé d'un dictionnaire.

Bien que cette méthode rende une liste hashable, elle n'est pas recommandée car elle peut entraîner un comportement inattendu dans ton code.

Envie d'aller plus loin ? DataXp t'attend : formations et parcours pour progresser en data science, machine learning et IA.

Commentaires

Avatar

ou participer

À lire ensuite

Des shots dans la même veine, à lire entre deux tâches.

Voir tous les shots
caret-right