Manipulando chaves ausentes em dicionários Python

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

# código Python para mostrar o dicionário e
# faltando value error


# inicializando o dicionário

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


# tentando exibir o valor da chave ausente

print ( "O valor associado com ` c` é: " )

print (d [ ` c` ])

Erro:

Traceback (última chamada mais recente): Arquivo "46a9aac96614587f5b794e451a8f4f5f.py", linha 9, em impressão (d [`c`]) KeyError:` c` 

In no exemplo acima, nenhuma chave chamada "c" no dicionário não deu um erro de tempo de execução. Para evitar tais condições e alertar o usuário de que uma chave específica está ausente ou enviar uma mensagem padrão para esse local, há várias maneiras de lidar com chaves ausentes.

Método 1: usando get()

O método get (key, def_val) é útil quando precisamos validar uma chave. Se a chave estiver presente, o valor associado à chave será impresso, caso contrário, o def_value passado nos argumentos será retornado.

Método 2: usando setdefault()

setdefault (key, def_value) funciona como get(), mas a diferença é que toda vez que key está faltando, uma nova chave é criada com um def_value associado ao key passada para argumentos.

Para implementar as funções acima, clique Defaultdict " — é um contêiner definido em um módulo chamado "coleção ". Ele usa uma função (fábrica padrão) como argumento . O padrão é o padrão de fábrica é definido como "int", que é 0 . Se chave estiver faltando — defaultdict, retorna e padrão é exibido por padrão . Tem precedência sobre get () ou setdefault ().

# código Python para demonstrar defaultdict


# import & quot; coleções & quot; para defaultdict

importar coleções


# declaração padrão
# define o valor padrão "Chave não encontrada" para chaves ausentes

defd = coleções. defaultdict ( lambda : `Chave não encontrada` )


# inicializando valores

defd [ `a` ] = 1


# inicializando valores

defd [ `b` ] = 2


# imprime valor

print ( "O valor associado a` a` é: " , end = "")

print (defd [ `a` ])


# valor de impressão associado a ' c'

print ( "O valor associado a ` c` é: " , end = " ")

print ( defd [ `c` ])

Saída:

O valor associado a `a` é: 1 O valor associado a `c` é: Chave não encontrada 

Este artigo é cortesia de Manjeet Singh . Se você é Python.Engineering e gostaria de contribuir, você também pode escrever um artigo usando contribute.python.engineering ou postando um artigo contribua @ python.engineering. Veja meu artigo que aparece na página inicial do Python.Engineering e ajude outros geeks.

Por favor, poste comentários se encontrar algo errado ou se quiser compartilhar mais informações sobre o tópico discutido acima.