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
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.