Manejo de claves faltantes en los diccionarios de Python

| | | | | | | | | | | | | | | | | | | |

# código Python para mostrar el diccionario y
# falta error de valor


# inicializando el diccionario

d = { `a` : 1 , ` b` : 2 }


# tratando de mostrar el valor de la clave faltante

imprimir ( "El valor asociado con `c` es: " )

imprimir (d [< /código> ` c` ])

Error:

Rastreo (última llamada más reciente): Archivo "46a9aac96614587f5b794e451a8f4f5f.py", línea 9, en letra de imprenta (d [`c`]) KeyError:` c` 

In el ejemplo anterior, ninguna clave llamada "c" en el diccionario no dio un error de tiempo de ejecución. Para evitar tales condiciones y alertar al usuario de que falta una clave específica o enviar un mensaje predeterminado a esa ubicación, existen varias formas de manejar las claves faltantes.

Método 1: usar get ()

El método get (key, def_val) es útil cuando necesitamos validar una clave. Si la clave está presente, se imprime el valor asociado con la clave; de ​​lo contrario, se devuelve el def_value pasado en los argumentos.

Método 2: Usar setdefault ()

setdefault (key, def_value) funciona como get(), pero la diferencia es que cada vez que key falta, se crea una nueva con un def_value asociado con el clave pasada a los argumentos.

Para implementar las funciones anteriores, haga clic en Defaultdict " — es un contenedor que se define en un módulo llamado "colección". Toma una función (predeterminada de fábrica) como argumento. El valor predeterminado es el valor predeterminado de fábrica es "int", que es 0 . Si falta la clave —defaultdict, devuelve y predeterminado es se muestra de forma predeterminada. Tiene prioridad sobre get () o setdefault ().

# Código de Python para demostrar defaultdict


# import & quot; colecciones & quot; for defaultdict

import colecciones


# declaración predeterminada
# establece el valor predeterminado "Clave no encontrada" para las claves faltantes

< código clase = "simple"> defd = colecciones. defaultdict ( lambda : `Clave no encontrada` < código clase = "simple">)


# inicializando valores

defd [ `a` ] = 1


# inicializando valores

defd [ `b` ] = < /código> 2


# imprimir valor

print ( "El valor asociado con `a` es: " , fin = "")

print (defd [ `a` ])


# valor de impresión asociado con ' c '

print ( "El valor asociado con ` c` es: " , end = " ")

print ( defd [ `c` ])

Salida:

El valor asociado con `a` es: 1 El valor asociado con` c` es: Clave no encontrada 

Este artículo es cortesía de Manjeet Singh . Si es Python.Engineering y le gustaría contribuir, también puede escribir un artículo usando contribuya.python.engineering o publicando un artículo contribuir @ python.engineering. Vea mi artículo que aparece en la página de inicio de Python.Engineering y ayude a otros geeks.

Publique comentarios si encuentra algún problema o si desea compartir más información sobre el tema tratado anteriormente.