Sobes.tech
Middle

Pourquoi les clés dans un dictionnaire Python doivent-elles être immuables et peut-on utiliser des clés modifiables?

sobes.tech IA

Réponse de l'IA

Les clés dans un dictionnaire Python doivent être immuables, car le dictionnaire utilise le hachage pour un accès rapide aux valeurs. Si la clé est mutable, son hachage peut changer après son insertion dans le dictionnaire, ce qui rend impossible de retrouver cette clé et, par conséquent, sa valeur.

Par exemple, les chaînes, les nombres et les tuples (constitués d'éléments immuables) sont des clés appropriées, car leur hachage est constant.

Il est interdit d'utiliser des clés mutables (comme des listes ou des dictionnaires) car elles n'ont pas de hachage constant et ne supportent pas la méthode hash(). Tenter d'utiliser un objet mutable comme clé provoquera une erreur TypeError.

Exemple:

my_dict = {}
my_dict[[1, 2, 3]] = "value"  # TypeError: unhashable type: 'list'

Ainsi, l'immuabilité des clés garantit le bon fonctionnement de la table de hachage du dictionnaire.