Comment vérifier si une valeur se trouve dans un dictionnaireen Python

Rayven Esplanada 30 janvier 2023
  1. Utilisez get() et Key pour vérifier si la valeur existe dans un dictionnaire
  2. Utilisez values() pour vérifier si la valeur spécifiée existe dans un dictionnaire
  3. Vérifier si une valeur existe dans un dictionnaire si la valeur est une liste
Comment vérifier si une valeur se trouve dans un dictionnaireen Python

Ce tutoriel montre comment vérifier si une valeur existe dans un dictionnaire Python. Nous aborderons ici des sujets pertinents, tels que la recherche d’une valeur donnée par une clé, la recherche d’une valeur spécifique et la recherche d’une valeur qui est un objet ou une collection.

Pour commencer, vous voudrez imprimer True si la valeur existe dans le dictionnaire ; sinon, imprimez False.

Utilisez get() et Key pour vérifier si la valeur existe dans un dictionnaire

Les dictionnaires en Python ont une fonction intégrée key(), qui retourne la valeur de la clé donnée. En même temps, elle retournerait None si elle n’existe pas. Vous pouvez utiliser cette fonction comme condition pour déterminer si une valeur existe ou non dans un dictionnaire.

Commençons par déclarer un dictionnaire simple avec des clés int et des valeurs de chaîne.

simpDict = {1: "Ant", 2: "Bear", 3: "Cat", 4: "Dog", 5: "Elephant"}

Si vous voulez rechercher la valeur en utilisant sa paire de clés, alors la fonction key() est la solution. Par exemple, vous voulez rechercher n’importe quelle valeur avec le 6 comme clé ; suivez le code ci-dessous.

if simpDict.key(6) != None:
    print("True")
else:
    print("False")

Puisque la fonction simpDict n’a pas la clé 6, ce bloc de code produira un False.

Utilisez values() pour vérifier si la valeur spécifiée existe dans un dictionnaire

Contrairement à la recherche d’une valeur spécifique, la recherche d’une clé dans un dictionnaire est très simple ; il suffit d’utiliser le mot-clé in et la clé que vous recherchez dans le dictionnaire.

print(3 in simpDict)

Vous obtiendrez alors la mention True puisque la clé 3 existe. Si nous remplaçons le nombre par une clé inexistante, alors le résultat sera False.

D’autre part, vous pouvez utiliser la fonction values() si vous voulez chercher une valeur spécifique dans le dictionnaire. La commande values() renverra une liste de toutes les valeurs d’un dictionnaire. En utilisant values(), vous pouvez utiliser le mot-clé in du dictionnaire et la valeur spécifiée. Supposons que vous vouliez savoir si la valeur Elephant est dans le dictionnaire, exécutez le code suivant :

print("Elephant" in simpDict.values())

Cette ligne affichera True puisque le mot elephant existe dans simpDict sur la touche 5.

En Python 2.X, il y a aussi deux autres fonctions similaires aux values(), ce sont les itervalues() et les viewvalues() ; ces fonctions ont été dépréciées dans les versions Python 3.X.

Les commandes itervalues() et viewvalues() feront la même tâche que la commande values() ; cependant, des implémentations différentes, bien que très négligeables, affectent grandement le temps d’exécution.

print("Elephant" in simpDict.itervalues())
print("Elephant" in simpDict.viewvalues())

Les deux retourneront la même sortie que la fonction values(). Il est important de noter que la redondance est probablement la raison principale pour laquelle ces fonctions ont été dépréciées dans les nouvelles versions de Python.

Maintenant, que faire si les valeurs d’un dictionnaire sont des structures de données comme une liste ou un objet ? C’est ce que nous allons découvrir.

Vérifier si une valeur existe dans un dictionnaire si la valeur est une liste

listDict = {1: ["a", "b"], 2: ["b", "c"], 3: ["c", "d"], 4: ["d", "e"]}

Nous avons maintenant un dictionnaire avec des touches int et une liste de caractères comme valeurs.

Disons que nous voulons rechercher si la liste ['c', 'd'] existe dans le dictionnaire.

print(["c", "d"] in listDict.values())

Le résultat serait True ; cela confirme que la comparaison des collections par itération du dictionnaire fonctionne également.

Mais que faire si vous voulez vérifier si une valeur d’une liste existe dans le dictionnaire ? Pour résoudre ce problème, il suffit de boucler sur les valeurs et d’utiliser le mot-clé in dans la liste, au lieu du dictionnaire.

Par exemple, vous voulez vérifier si le caractère 'e' existe dans les valeurs de cette liste ou non. Voici le code à exécuter pour cela :

tof = False
for value in listDict.values():
    if "e" in value:
        tof = True
        break
print(tof)

La sortie affichera True puisque 'e' existe dans le dictionnaire.

En résumé, utilisez la fonction values() pour itérer sur les valeurs et comparer si la valeur que vous recherchez existe dans la liste des valeurs. Ceci est utile lorsque vous voulez vérifier si une valeur spécifiée existe dans un dictionnaire.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Article connexe - Python Dictionary