Exceção do Python KeyError

Exceção do Python KeyError
O KeyError a exceção pode ocorrer em Python por vários motivos. Tentando acessar a chave inválida do dicionário Python é um deles. O dicionário é usado para armazenar vários valores em que cada valor é acessível por um valor de chave específico. O KeyError ocorre quando uma chave de um dicionário é tentada acessar que não existe ou para tentar acessar a chave inválida. Esse tipo de KeyError pode ser evitado acessando apenas as chaves de dicionário válidas ou pode ser tratado usando o Try-exceto Bloco de Python. Esta exceção pode ocorrer para alguns outros módulos Python também. As maneiras de lidar ou evitar KeyError Exceções ao acessar o dicionário Python são mostradas neste tutorial.

Exemplo 1: Ocorrência da exceção de KeyError para chave inválida

Crie um arquivo python com o seguinte script para verificar a ocorrência do KeyError para a chave inválida do dicionário. No roteiro, um dicionário de três pares de valor-chave foi declarado. Em seguida, três chaves foram usadas para ler os valores do dicionário onde a chave nomeada 'tipo' não existe no dicionário. O KeyError ocorrerá no momento da leitura do valor de 'tipo'.

# Declare um dicionário
dic_customers = 'Customer_id': 'B-45322', 'Nome': 'Meena Kumari', 'Account_type': 'Saving'
# Leia e imprima o ID do cliente
id = dic_customers ['Customer_id']
print ("ID do cliente:", ID)
# Leia e imprima o nome do cliente
nome = dic_customers ['nome']
print ("Nome do cliente:", nome)
# Leia e imprima o tipo de conta
tipo = dic_customers ['type']
print ("Tipo de conta:", tipo)

Saída:

A saída a seguir aparecerá após a execução do script acima. Os valores das chaves válidas do dicionário foram impressos e o KeyError foi exibido para a chave inválida, 'tipo'.

Exemplo-2: Manipulando a exceção de KeyError usando o bloco Try-Except

A exceção de KeyError pode ser tratada de maneiras diferentes. Uma maneira é usar o bloco Try-Except para lidar com este erro. Crie um arquivo python com o seguinte script para lidar com o KeyError usando o bloco Try-Except. Um dicionário de três elementos foi declarado no script. O KeyError ocorrerá no momento da leitura do valor da chave denominada 'Tipo' que não existe no dicionário, e a mensagem de erro personalizada será exibida.

# Declare um dicionário
dic_customers = 'Customer_id': 'B-45322', 'Nome': 'Meena Kumari', 'Account_type': 'Saving'
tentar:
# Leia e imprima o ID do cliente
id = dic_customers ['Customer_id']
print ("ID do cliente:", ID)
# Leia e imprima o nome do cliente
nome = dic_customers ['nome']
print ("Nome do cliente:", nome)
# Leia e imprima o tipo de conta
tipo = dic_customers ['type']
print ("Tipo de conta:", tipo)
Exceto KeyError como chave:
# Mensagem de erro de impressão
Print (' Key não existe no dicionário.'.formato (chave))

Saída:

A saída a seguir aparecerá após a execução do script acima. Os valores das chaves válidas do dicionário foram impressas e o erro foi exibido para a chave inválida.

Exemplo 3: Evitando a exceção de KeyError usando a função get ()

O KeyError A exceção pode ser evitada usando a função get () sem usar o bloco Try_except. O get () é uma função interna do python para ler o valor da chave específica do dicionário. Esta função retorna o valor da chave se a chave existir; Caso contrário, ele retorna Nenhum. Crie um arquivo python com o seguinte script para saber como evitar o KeyError usando a função get (). No script, a função get () foi usada para ler duas teclas válidas e uma chave inválida do dicionário.

# Declare um dicionário
dic_customers = 'Customer_id': 'B-45322', 'Nome': 'Meena Kumari', 'Account_type': 'Saving'
# Defina o valor da chave
chave = 'nome'
# Imprima o valor da chave se existir
print ("O valor da chave é: ".formato (chave, dic_customers.obtenha (chave))))
# Defina o valor da chave
chave = 'tipo'
# Imprima o valor da chave se existir
print ("O valor da chave é: ".formato (chave, dic_customers.obtenha (chave))))
# Defina o valor-chave
key = 'Balance'
"
Imprima o valor da chave se existir,
Caso contrário, defina o valor para a nova chave
"
print ("O valor da chave é: ".formato (chave, dic_customers.Get (Key, 60000)))

Saída:

A saída a seguir aparecerá após a execução do script acima. O 'tipo' Key não existe no dicionário. Então o 'Nenhum' O valor foi retornado pela função get () para esta chave.

Exemplo-4: Evitando a exceção de KeyError usando a instrução IF-ELSE

O KeyError A exceção também pode ser evitada sem usar a função get (). Crie um arquivo python com o seguinte script para evitar o KeyError exceção ao verificar a existência da chave do dicionário. A função nomeada 'verificar chave' foi declarado no script para verificar a existência de cada chave do dicionário. A função retornará o valor formatado da chave se a chave existir no dicionário; Caso contrário, ele retornará a mensagem de erro. Um dicionário de três elementos foi usado aqui. A princípio, o 'Identificação do Cliente' será verificado que existe no dicionário. Em seguida, o 'tipo'A chave que não existe no dicionário será verificada.

# Defina a função para verificar se a chave existe ou não
def check_key (k, dic):
Se k em dic.chaves():
Print ("A tecla Value é .".formato (k, dic [k]))
outro:
Print (" Key não existe no dicionário.".formato (k))
# Declare um dicionário
dic_customers = 'Customer_id': 'B-45322', 'Nome': 'Meena Kumari', 'Account_type': 'Saving'
# Ligue para a função para verificar a tecla 'Customer_id'
check_key ('Customer_id', dic_customers)
# Ligue para a função para verificar a tecla 'Type'
check_key ('tipo', dic_customers)

Saída:

A saída a seguir aparecerá após a execução do script acima. O valor do 'Identificação do Cliente'Key foi impressa e a mensagem de erro foi impressa para o 'tipo' chave.

Conclusão:

Diferentes maneiras de evitar a exceção de KeyError que ocorre para a chave inexistente do Dicionário Python foram demonstradas neste tutorial. Os usuários do Python podem seguir qualquer uma das maneiras mencionadas aqui com base em seus requisitos.