Skip to content

Vérifier si une clé/valeur existe dans un dictionnaire en Python

Cet article décrit comment vérifier si une clé, une valeur ou une paire clé-valeur existe dans un dictionnaire (dict) en Python.

  • Vérifiez si une clé existe dans un dictionnaire :in operator
  • Vérifiez si une valeur existe dans un dictionnaire :in operator, values()
  • Vérifiez si une paire clé-valeur existe dans un dictionnaire :in operator, items()

Les méthodes values() et items() sont également utilisées pour itérer un dictionnaire avec une boucle for. Voir l’article suivant.

Vérifiez si une clé existe dans un dictionnaire :in operator

L’utilisation de l’opérateur in pour un objet dictionnaire renvoie lui-même si une clé existe, c’est-à-dire si un dictionnaire a/contient une clé. Utilisez not in pour vérifier si une clé n’existe pas dans un dictionnaire.

d = {'key1': 'val1', 'key2': 'val2', 'key3': 'val3'}

print('key1' in d)
# True

print('val1' in d)
# False

print('key4' not in d)
# True

Il en va de même si vous utilisez la méthode keys() au lieu de l’objet dictionnaire lui-même. Dans le cas de l’exemple ci-dessus, le même résultat est renvoyé par xxx dans d.keys().

La méthode has_key() était fournie dans Python 2, mais a été supprimée dans Python 3.

Pour obtenir la valeur de la clé, utilisez dict[key].

dict[key] déclenche une erreur lorsque la clé n’existe pas, mais la méthode get() renvoie une valeur spécifiée (la valeur par défaut est None) si la clé n’existe pas.

# print(d['key4'])
# KeyError: 'key4'

print(d.get('key4'))
# None

Vous pouvez également ajouter un nouvel élément avec dict[key] = new_value. La valeur est écrasée pour une clé existante. Si vous souhaitez ajouter un élément avec une nouvelle valeur uniquement pour une nouvelle clé sans modifier la valeur d’une clé existante, utilisez la méthode setdefault(). Voir l’article suivant.

Vérifiez si une valeur existe dans un dictionnaire :in operator, values()

Pour vérifier si une valeur existe dans un dictionnaire, c’est-à-dire si un dictionnaire a/contient une valeur, utilisez l’opérateur in et la méthode values(). Utilisez not in pour vérifier si une valeur n’existe pas dans un dictionnaire.

print('val1' in d.values())
# True

print('val4' not in d.values())
# True

Consultez l’article suivant pour savoir comment obtenir la clé à partir de la valeur.

Vérifiez si une paire clé-valeur existe dans un dictionnaire :in operator, items()

Pour vérifier si une paire clé-valeur existe dans un dictionnaire, c’est-à-dire si un dictionnaire a/contient une paire, utilisez l’opérateur in et la méthode items(). Spécifiez un tuple (clé, valeur). Utilisez not in pour vérifier si une paire n’existe pas dans un dictionnaire.

print(('key1', 'val1') in d.items())
# True

print(('key1', 'val2') in d.items())
# False

print(('key1', 'val2') not in d.items())
# True