En Python, un dictionnaire est un ensemble non ordonné de valeurs de données qui peut être utilisé pour gérer et stocker des valeurs comme une carte. Contrairement aux autres types de données, qui ne peuvent contenir qu'une valeur spécifique en tant qu'élément, le dictionnaire peut contenir une paire clé-valeur. Le dictionnaire comprend une paire clé-valeur pour le rendre plus efficace. Le polymorphisme n'est pas autorisé dans les clés du dictionnaire. Un dictionnaire est construit en Python en plaçant une succession d'entrées entre accolades et en les séparant par une virgule. Le dictionnaire stocke des couples de valeurs, dont l'une est la clé et l'autre est l'élément de paire clé: valeur.
Dans un dictionnaire, les valeurs peuvent avoir n'importe quelle structure de données et peuvent même être répliquées, mais les clés ne peuvent pas être copiées et doivent être immuables.
Vérifier une clé dans le dictionnaire
En Python, un dictionnaire est en effet une structure de données utile qui stocke des paires clé-valeur. Obtenir la valeur d’une clé spécifique à partir d’un dictionnaire est fréquemment requis en programmation ; cependant, l’existence d’une clé particulière dans le dictionnaire n’est pas toujours garantie. Par conséquent, c'est une bonne idée de vérifier si une clé appartient au dictionnaire avant de récupérer sa valeur.
Utiliser has_key()
Si une clé donnée est trouvée dans le dictionnaire, la has_key() la méthode renvoie vrai ; sinon, il renvoie false.
Python 3 a rendu cela obsolète. Cette méthode peut être utilisée si nous utilisons une version antérieure à Python 3.
La commande ci-dessous peut être utilisée pour confirmer la version de Python dans cmd.
Code:
taille a-b
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')
Sortir:
--------------------------------------------------------------------------- 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'
Puisque ce code a été exécuté sur Python 3, il affiche une erreur.
Déclaration if-in
Cette méthode vérifie si une clé particulière existe dans le dictionnaire à l'aide de l'instruction if-in. Nous employons l'opérateur d'adhésion dans , de cette façon. Cet opérateur est utilisé pour déterminer si une valeur appartient à une autre. Cela vous donne un résultat booléen.
Code:
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')
Sortir:
Key exists in Animals
Maintenant, regardons le cas négatif.
Code:
films123 à
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')
Sortir:
There is no key '4' in Animals
De même, le pas dedans L'opérateur pourrait être utilisé pour voir si une clé dans un dictionnaire n'existe pas. Cependant, gardez à l'esprit que le dans L'opération est sensible à la casse, alors assurez-vous que toutes les touches sont dans la même casse ou utilisez le plus haut() ou inférieur() méthodes.
Code:
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')
Sortir:
Key exists in Animals
Utilisation de la méthode get()
La méthode get() fournit la valeur de la clé associée dans un dictionnaire. Si la clé n'est pas là, elle renvoie None ou une valeur par défaut (si une valeur a été fournie). Nous pouvons transmettre une clé à cette méthode et voir si elle existe dans le dictionnaire Python donné.
égalité des objets en Java
La syntaxe de la fonction get() est :
dict_name.get(keyname, value)
Ici, le nom du dict est le titre du dictionnaire que vous utiliserez.
Paramètres
Code:
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')
Sortir:
Key exists in Animals
Prenons maintenant un cas négatif,
Code:
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')
Sortir:
normalisation rdbms
There is no key '5' in Animals
Lorsque vous utilisez cette méthode, gardez ceci à l’esprit que si nous avons une clé avec cette valeur Aucune, elle ne sera pas exacte. Si nous n’en avons pas, cette technique suffira. Si nous voulons utiliser les valeurs renvoyées par cette méthode, nous pouvons les enregistrer dans une variable.
Utiliser des clés()
Le clés() La fonction et l'opérateur 'in' peuvent être utilisés pour voir si une clé existe dans un dictionnaire. Le clés() La méthode renvoie une liste de clés dans le dictionnaire et l'instruction « if, in » vérifie si la clé fournie est dans la liste. Il renvoie True si la clé existe ; sinon, il renvoie False.
Saisir
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')
Sortir:
Key exists in Animals
Vérifiez si le dictionnaire a plusieurs clés.
Dans une instruction, nous pouvons également vérifier si le dictionnaire contient plusieurs clés. Nous pouvons utiliser le tous() fonction en combinaison avec la compréhension de liste pour voir si le dictionnaire contient plusieurs ou toutes les clés.
Code:
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')
Sortir:
âge de Salman Khan Khan
Not all the keys are there in Animals
Examinez la liste des dictionnaires pour voir si la clé existe
Une liste de dictionnaires est un ensemble de dictionnaires pouvant être trouvés dans une liste.
- list_of_dictionary - une liste contenant trois objets de dictionnaire.
- 'b' dans les clés pour les clés de la liste du dictionnaire - produisant la liste des clés dans la liste des dictionnaires en utilisant la compréhension de liste. Ensuite, sur la liste, voyez s'il y en a un disponible. Il renverra une liste avec True pour les clés qui sont « b » et False pour les clés qui n'en sont pas une.
- any() - Vérifie la liste Vrai/Faux fournie par la compréhension de liste. La clé 'b' est présente dans la liste du dictionnaire si elle comprend au moins un True. Le bloc 'if' est ensuite exécuté après avoir renvoyé True. Sinon, le bloc « else » est exécuté.
Code:
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')
Sortir:
Key exists in list_of_dictionaries
Vérifiez si la clé est dans le dictionnaire JSON
JSON signifie « Javascript Object Notation » et il s'agit d'une paire clé-valeur qui enregistre les valeurs.
Le json.loads() La méthode peut être utilisée pour construire un dictionnaire à partir d’un texte JSON.
Ensuite, comme vu ci-dessous, nous pouvons utiliser le 'if et in' pour voir si la clé est présente dans le dictionnaire JSON.
Saisir
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')
Sortir:
Key is present in the JASON dictionary
Conclusion
Pour récapituler, nous avons appris à vérifier si la clé est dans le dictionnaire de plusieurs manières. Nous avons également appris à appliquer ces méthodes à différentes instances afin de voir si la clé est dans le dictionnaire. Nous avons également vu que chaque option prend un temps différent.