logo

Como verificar se existe uma chave em um dicionário Python

Em Python, um dicionário é um conjunto não ordenado de valores de dados que pode ser usado para gerenciar e armazenar valores como um mapa. Ao contrário de outros tipos de dados, que só podem conter um valor específico como item, o Dicionário pode conter um par de valores-chave. O dicionário inclui um par de valores-chave para torná-lo mais eficiente. O polimorfismo não é permitido nas chaves do dicionário. Um Dicionário é construído em Python colocando uma sucessão de entradas entre chaves e separando-as com uma vírgula. O Dicionário armazena pares de valores, um dos quais é a Chave e o outro é o elemento do par Chave:valor.

Em um dicionário, os valores podem ser de qualquer estrutura de dados e podem até ser replicados, mas não podem ser copiadas chaves que devem ser imutáveis.

o que é um sistema de arquivos Linux

Verificando uma chave no dicionário

Em Python, um dicionário é de fato uma estrutura de dados útil que armazena pares de valores-chave. Obter o valor de uma chave específica de um dicionário é frequentemente necessário na programação; entretanto, a existência de uma chave específica no dicionário nem sempre é garantida. Como resultado, é uma boa ideia verificar novamente se uma chave pertence ao dicionário antes de recuperar o seu valor.

Usando has_key()

Se uma determinada chave for encontrada no dicionário, o has_key() método retorna verdadeiro; caso contrário, ele retornará falso.

Python 3 tornou isso obsoleto. Este método pode ser usado se estivermos executando uma versão anterior ao Python 3.

O comando abaixo pode ser usado para confirmar a versão do Python no cmd.

Código:

 import sys print(sys.version) Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.has_key(key_to_check_for): print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Saída:

 --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [37], in () 1 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} 2 key_to_check_for = '2' ----> 3 if Animals.has_key(key_to_check_for): 4 print('Key exists in Animals') 5 else: AttributeError: 'dict' object has no attribute 'has_key' 

Como este código foi executado em Python 3, ele está apresentando um erro.

Declaração if-in

Este método verifica se existe uma chave específica dentro do dicionário usando a instrução if-in. Empregamos o operador de associação em , desta forma. Este operador é usado para determinar se um valor pertence a outro. Fornece um resultado booleano.

Código:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} Key = '2' if '2' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

Saída:

 Key exists in Animals 

Agora, olhando para o caso negativo.

Código:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} if '4' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

Saída:

 There is no key '4' in Animals 

Da mesma forma, o não em operador pode ser usado para verificar se uma chave em um dicionário não existe. No entanto, tenha em mente que em a operação diferencia maiúsculas de minúsculas, portanto, certifique-se de que todas as chaves tenham a mesma maiúscula ou use o mais alto() ou mais baixo() métodos.

Código:

 Animals = {'one': 'Cat', 'two':'Rat', 'three':'Bat'} setting_case = set(key.upper() for key in Animals) key_to_check_for = 'two' if key_to_check_for.upper() in setting_case: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Saída:

 Key exists in Animals 

Usando o método get()

O método get() entrega o valor da chave relacionada em um dicionário. Se a chave não estiver lá, ela retornará None ou um valor padrão (se algum tiver sido fornecido). Podemos passar uma chave para este método e ver se ela existe no dicionário Python fornecido.

A sintaxe da função get() é:

 dict_name.get(keyname, value) 

Aqui, dict name é o título do dicionário que você usará.

Parâmetros

    Nome-chave-O nome-chave do valor que você deseja retornar.valor-Se a chave não existir, esse valor será fornecido como opção.

Código:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Saída:

 Key exists in Animals 

Agora pegando um caso negativo,

Código:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '5' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

Saída:

 There is no key '5' in Animals 

Ao utilizar este método, lembre-se de que se tivermos uma chave com esse valor Nenhum, ela não será precisa. Se não tivermos, esta técnica será suficiente. Se quisermos utilizar os valores retornados por este método, podemos salvá-los em uma variável.

Usando Chaves()

O chaves() A função e o operador 'in' podem ser usados ​​para ver se existe uma chave em um dicionário. O chaves() O método retorna uma lista de chaves no dicionário e a instrução 'if, in' verifica se a chave fornecida está na lista. Retorna True se a chave existir; caso contrário, retornará False.

Entrada

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if key in Animals.keys(): print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

Saída:

 Key exists in Animals 

Verifique se o dicionário possui múltiplas chaves.

Em uma instrução, também podemos verificar se o dicionário contém múltiplas chaves. Podemos usar o todos() função em combinação com a compreensão da lista para ver se o dicionário contém muitas ou todas as chaves.

Código:

exceção personalizada em java
 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if all(key in Animals for key in ('1','5')): print('All keys exists in Animals') else: print('Not all the keys are there in Animals') 

Saída:

 Not all the keys are there in Animals 

Examine a lista de dicionários para ver se a chave existe

Uma lista de dicionários é uma coleção de dicionários que podem ser encontrados em uma lista.

  • list_of_dictionary - uma lista com três objetos de dicionário.
  • 'b' nas chaves das chaves na lista de dicionário - produzindo a lista de chaves na lista de dicionários usando a compreensão de lista. Então, na lista, veja se há algum disponível. Ele retornará uma lista com True para chaves que são 'b' e False para chaves que não são uma.
  • any() - Verifica a lista Verdadeiro/Falso fornecida pela compreensão da lista. A chave 'b' está presente na lista do dicionário se incluir pelo menos um True. O bloco 'if' é então executado após retornar True. Caso contrário, o bloco 'else' será executado.

Código:

 list_of_dictionaries = [{'a': 'A'}, {'b': 'B'}, {'c': 'C'}] if any('b' in keys for keys in list_of_dictionary): print('key exists in list_of_dictionaries') else: print('key does not exists in list_of_dictionaries') 

Saída:

 Key exists in list_of_dictionaries 

Verifique se a chave está no dicionário JSON

JSON significa 'Javascript Object Notation' e é um par chave-valor que salva valores.

O json.loads() O método pode ser usado para construir um dicionário a partir de um texto JSON.

Então, como visto abaixo, podemos usar o 'if e in' para ver se a chave está presente no dicionário JSON.

Entrada

 import json json_str = '''{'a': 'A', 'b': 'B', 'c': 'C'}''' json_dictionary = json.loads(json_str) if 'c' in json_dictionary: print('Key is present in the JSON dictionary') else: print('Key is not present in JSON dictionary') 

Saída:

 Key is present in the JASON dictionary 

Conclusão

Para recapitular, aprendemos como verificar se a chave está no dicionário de várias maneiras. Também aprendemos como aplicar esses métodos a várias instâncias para ver se a chave está no dicionário. Também vimos como cada opção leva um tempo diferente.