Come controllare se una chiave esiste in un dizionario in Python

La questione di come controllare se una data chiave esiste in un dizionario Python rientra negli argomenti di controllo dell’appartenenza a Python che potete trovare maggiori informazioni nel tutorial here.

La parola chiave in è usata per fare il controllo dell’appartenenza al dizionario. Fare riferimento all’esempio di codice qui sotto

dic = {"A":1, "B":2}

def dicMemberCheck(key, dicObj):
    if key in dicObj:
        print("Existing key")
    else:
        print("Not existing")
        
dicMemberCheck("A")
dicMemberCheck("C")
Existing key
Not existing
Info

Potreste forse avere altre soluzioni per verificare se la chiave data esiste nel dizionario o meno, come ad esempio,

if key in dicObj.keys()

Potrebbe darvi lo stesso risultato con la soluzione che vi abbiamo appena mostrato. Ma questo metodo dicObj.keys() è circa quattro volte più lento perché ci vuole più tempo per convertire le chiavi del dizionario in una lista.

Potreste fare riferimento al test di confronto delle prestazioni del tempo di esecuzione qui sotto.

>>> import timeit
>>> timeit.timeit('"A" in dic', setup='dic = {"A":1, "B":2}',number=1000000)
0.053480884567733256
>>> timeit.timeit('"A" in dic.keys()', setup='dic = {"A":1, "B":2}',number=1000000)
0.21542178873681905

Articolo correlato - Python Dictionary

  • Stampa graziosa di un dizionario in Python