Método setdefault() de diccionario en Python
El método
setdefault()
de un diccionario en Python se utiliza para establecer un valor predeterminado para una clave en caso de que la clave no exista en el diccionario. Si la clave ya existe, el método devuelve el valor correspondiente a esa clave sin realizar ninguna modificación en el diccionario. Básicamente, este método evita que ocurran errores de clave no encontrada.
Sintaxis de setdefault() en Python
La sintaxis del método
setdefault()
es la siguiente:
Ejemplo
valor_predeterminado = "desconocido"
clave = "marca"
dict.setdefault(clave, valor_predeterminado)
print(clave)
Donde:
-
dictes el diccionario en el que deseas operar. -
clavees la clave que deseas buscar en el diccionario. -
valor_predeterminadoes el valor que se asignará a la clave si no existe en el diccionario.
Ejemplo de setdefault() en Python
Supongamos que tenemos un diccionario llamado
edades
que contiene las edades de algunas personas:
setdefault() para una clave existente en Python
Si deseamos obtener la edad de Juan, podemos usar
setdefault()
de la siguiente manera:
Ejemplo
juan_edad = edades.setdefault('Juan', 0)
print("Edad de Juan:", juan_edad)
En este caso,
juan_edad
será igual a 30, que es la edad de Juan en el diccionario. El valor predeterminado (0 en este caso) no se utiliza porque la clave "Juan" ya existe en el diccionario.
setdefault() para una clave que no existe en Python
Si deseamos obtener la edad de Ana, pero Ana no está en el diccionario, podemos usar
setdefault()
de la siguiente manera:
Ejemplo
juan_edad = edades.setdefault('Juan', 0)
print("Edad de Juan:", juan_edad)
ana_ed
ana_edad = edades.setdefault('Ana', 0)
print("Edad de Ana:", ana_edad)
En este caso,
ana_edad
será igual a 0, que es el valor predeterminado que especificamos. Además, el diccionario
edades
ahora se actualizará con la clave "Ana" y el valor 0.
setdefault() para agregar una clave con un valor predeterminado
También podemos utilizar
setdefault()
para agregar una clave con un valor predeterminado, incluso si la clave ya existe. Por ejemplo:
Ejemplo
valor_predeterminado = "desconocido"
clave = "marca"
dict.setdefault(clave, valor_predeterminado)
print(clave)
En este caso,
juan_edad
será igual a 30 (la edad original de Juan en el diccionario), pero el diccionario no cambiará. Esto significa que
setdefault()
no modifica el valor existente de la clave.
-
setdefault()se utiliza para obtener el valor de una clave en un diccionario y, si la clave no existe, agregarla con un valor predeterminado. -
Si la clave ya existe en el diccionario,
setdefault()no modifica el diccionario y devuelve el valor existente. -
Si la clave no existe en el diccionario,
setdefault()agrega la clave con el valor predeterminado especificado y devuelve ese valor.
- Tutorial de Diccionarios en Python
Practica Método setdefault() de diccionario en Python en el editor
Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.
Ejercicio: Supongamos que tenemos un diccionario llamado
Supongamos que tenemos un diccionario llamado edades que contiene las edades de algunas personas.
Ejemplo
valor_predeterminado = "desconocido"
clave = "marca"
dict.setdefault(clave, valor_predeterminado)
print(clave)
Ejercicio: Usar print()
Si deseamos obtener la edad de Juan, podemos usar setdefault() de la siguiente manera.
Ejercicio: Usar print() (2)
Si deseamos obtener la edad de Ana, pero Ana no está en el diccionario, podemos usar setdefault() de la siguiente manera.
Ejemplo
juan_edad = edades.setdefault('Juan', 0)
print("Edad de Juan:", juan_edad)
ana_ed
ana_edad = edades.setdefault('Ana', 0)
print("Edad de Ana:", ana_edad)
Ejercicio: También podemos utilizar
También podemos utilizar setdefault() para agregar una clave con un valor predeterminado, incluso si la clave ya existe. Por ejemplo.