# 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 ().
- O padrão é definido na declaração . Não há necessidade de chamar a função repetidamente e passar os mesmos valores como argumentos. Daí a economia de tempo.
- Implementar defaultdict é mais rápido do que 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.