- Mon Shot de Data Science
- Posts
- Tu peux ajouter une liste comme clé de dictionnaire (techniquement) !
Tu peux ajouter une liste comme clé de dictionnaire (techniquement) !
#118 - Mais cela ne veut pas dire que tu dois le faire...
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.
Ça t'a plu ? 😎 |
Reply