Sobes.tech
Middle

Quelles sont les restrictions sur les clés dans dict en Python?

sobes.tech IA

Réponse de l'IA

En Python, les clés dans un dictionnaire (dict) doivent être des objets hashables (immutables). Cela signifie que les clés doivent avoir un état immuable et implémenter la méthode __hash__().

Principales restrictions :

  • Les clés doivent être des types immuables, par exemple : chaînes (str), nombres (int, float), tuples (tuple), à condition que tous les éléments du tuple soient également hashables.
  • Il est interdit d'utiliser des types mutables, tels que listes (list), ensembles (set), dictionnaires (dict) comme clés, car ils ne sont pas hashables.

Exemple :

valid_dict = {
    "key": 1,
    42: "value",
    (1, 2): "tuple key"
}

invalid_dict = {
    [1, 2]: "list as key"  # provoquera une erreur TypeError
}

Si vous essayez d'utiliser un objet mutable comme clé, Python renverra une erreur TypeError: unhashable type.