Middle
¿Qué restricciones hay en las claves en dict en Python?
sobes.tech AI
Respuesta de la IA
En Python, las claves en un diccionario (dict) deben ser objetos hashables (inmutables). Esto significa que las claves deben tener un estado inmutable y implementar el método __hash__().
Restricciones principales:
- Las claves deben ser tipos inmutables, por ejemplo: cadenas (
str), números (int,float), tuplas (tuple), siempre que todos los elementos de la tupla también sean hashables. - No se pueden usar tipos mutables, como listas (
list), conjuntos (set), diccionarios (dict) como claves, ya que no son hashables.
Ejemplo:
valid_dict = {
"key": 1,
42: "value",
(1, 2): "tuple key"
}
invalid_dict = {
[1, 2]: "list as key" # generará un TypeError
}
Si intentas usar un objeto mutable como clave, Python lanzará un error TypeError: unhashable type.