logo

Come verificare se esiste una chiave in un dizionario Python

In Python, un dizionario è un insieme non ordinato di valori di dati che può essere utilizzato per gestire e archiviare valori come una mappa. A differenza di altri tipi di dati, che possono contenere solo un valore specifico come elemento, il dizionario può contenere una coppia chiave-valore. Il dizionario include una coppia chiave-valore per renderlo più efficiente. Il polimorfismo non è consentito nelle chiavi del dizionario. Un dizionario è costruito in Python racchiudendo una successione di voci tra parentesi graffe e separandole con una virgola. Il dizionario memorizza coppie di valori, uno dei quali è la chiave e l'altro è l'elemento della coppia chiave:valore.

come accoppiare le cuffie beats

In un dizionario i valori possono avere qualsiasi struttura dati e possono anche essere replicati, ma non possono essere copiate le chiavi che devono essere immutabili.

Controllo di una chiave nel dizionario

In Python, un dizionario è infatti un'utile struttura dati che memorizza coppie chiave-valore. Nella programmazione è spesso richiesto di ottenere il valore di una chiave specifica da un dizionario; tuttavia, l'esistenza di una particolare chiave nel dizionario non è sempre realmente garantita. Di conseguenza, è una buona idea ricontrollare se una chiave appartiene al dizionario prima di recuperarne il valore.

Usando has_key()

Se una determinata chiave viene trovata nel dizionario, il file has_key() il metodo restituisce vero; altrimenti restituisce false.

Python 3 lo ha reso deprecato. Questo metodo può essere utilizzato se stiamo utilizzando una versione precedente a Python 3.

Il comando seguente può essere utilizzato per confermare la versione Python in cmd.

Codice:

 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') 

Produzione:

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

Poiché questo codice è stato eseguito su Python 3, viene visualizzato un errore.

Dichiarazione if-in

Questo metodo controlla se esiste una chiave particolare all'interno del dizionario utilizzando l'istruzione if-in. Impieghiamo l'operatore di appartenenza In , in questa maniera. Questo operatore viene utilizzato per determinare se un valore appartiene a un altro. Ti dà un risultato booleano.

Codice:

 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') 

Produzione:

 Key exists in Animals 

Ora, esaminando il caso negativo.

Codice:

 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') 

Produzione:

 There is no key '4' in Animals 

Allo stesso modo, il Non in L'operatore potrebbe essere utilizzato per vedere se una chiave in un dizionario non esiste. Tuttavia, tieni presente che il In l'operazione fa distinzione tra maiuscole e minuscole, quindi assicurati che tutte le chiavi siano le stesse maiuscole o minuscole o utilizza il comando più alto() O inferiore() metodi.

Codice:

 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') 

Produzione:

 Key exists in Animals 

Utilizzando il metodo get()

Il metodo get() fornisce il valore della chiave correlata in un dizionario. Se la chiave non è presente, restituisce None o un valore predefinito (se ne è stato fornito uno). Possiamo passare una chiave a questo metodo e vedere se esiste nel dizionario Python fornito.

La sintassi della funzione get() è:

 dict_name.get(keyname, value) 

Qui, dict name è il titolo del dizionario che utilizzerai.

Parametri

    Nome chiave-Il nome chiave del valore che desideri restituire.valore-Se la chiave non esiste, questo valore viene fornito come opzione.

Codice:

 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') 

Produzione:

 Key exists in Animals 

Ora, prendendo un caso negativo,

ordine sql casuale

Codice:

 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') 

Produzione:

 There is no key '5' in Animals 

Quando utilizzi questo metodo, tieni presente che se disponiamo di una chiave con quel valore Nessuno, non sarà accurata. Se non ne abbiamo uno, questa tecnica sarà sufficiente. Se vogliamo utilizzare i valori restituiti da questo metodo, possiamo salvarli in una variabile.

Utilizzo delle chiavi()

IL chiavi() La funzione e l'operatore 'in' possono essere utilizzati per vedere se esiste una chiave in un dizionario. IL chiavi() Il metodo restituisce un elenco di chiavi nel dizionario e l'istruzione 'if, in' controlla se la chiave fornita è nell'elenco. Restituisce True se la chiave esiste; in caso contrario, restituisce False.

Ingresso

obj in Java
 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') 

Produzione:

 Key exists in Animals 

Controlla se il dizionario ha più chiavi.

In un'istruzione possiamo anche verificare se il dizionario contiene più chiavi. Possiamo usare il Tutto() funzione in combinazione con la comprensione dell'elenco per vedere se il dizionario contiene molte o tutte le chiavi.

Codice:

 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') 

Produzione:

 Not all the keys are there in Animals 

Esaminare l'elenco dei dizionari per vedere se la chiave esiste

Un elenco di dizionari è una raccolta di dizionari che è possibile trovare in un elenco.

  • list_of_dictionary - un elenco con tre oggetti dizionario al suo interno.
  • 'b' nelle chiavi per le chiavi nell'elenco del dizionario: produce l'elenco delle chiavi all'interno dell'elenco dei dizionari utilizzando la comprensione dell'elenco. Quindi, nell'elenco, controlla se ne è disponibile uno. Restituirà un elenco con True per le chiavi che sono 'b' e False per le chiavi che non sono una.
  • any() - Verifica l'elenco Vero/Falso fornito dalla comprensione delle liste. La chiave 'b' è presente nell'elenco dei dizionari se include almeno un Vero. Il blocco 'if' viene quindi eseguito dopo aver restituito True. Altrimenti viene eseguito il blocco 'else'.

Codice:

 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') 

Produzione:

 Key exists in list_of_dictionaries 

Controlla se la chiave è nel dizionario JSON

JSON sta per 'Javascript Object Notation' ed è una coppia chiave-valore che salva i valori.

IL json.loads() Il metodo può essere utilizzato per costruire un dizionario da un testo JSON.

Quindi, come visto di seguito, possiamo usare 'if and in' per vedere se la chiave è presente nel dizionario JSON.

Ingresso

 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') 

Produzione:

 Key is present in the JASON dictionary 

Conclusione

Ricapitolando, abbiamo imparato come verificare se la chiave è nel dizionario in diversi modi. Abbiamo anche imparato come applicare questi metodi a varie istanze per vedere se la chiave è nel dizionario. Abbiamo anche visto come ciascuna opzione richieda un tempo diverso.