Trouver la clé par valeur dans le dictionnaire Python

Jinku Hu 30 janvier 2023
  1. Utilisez dict.items() pour trouver une clé par valeur dans un dictionnaire Python
  2. Utilisez .keys() et .values() pour trouver la clé par valeur dans le dictionnaire Python
Trouver la clé par valeur dans le dictionnaire Python

Le dictionnaire est une collection d’éléments dans une paire clé-valeur. Les éléments stockés dans un dictionnaire ne sont pas ordonnés. Dans cet article, nous présenterons différentes façons de trouver la clé par valeur dans un dictionnaire Python. Habituellement, on accède à une valeur en utilisant une clé, mais ici nous allons accéder à une clé en utilisant une valeur. Ici, la clé est une identité associée à la valeur.

Utilisez dict.items() pour trouver une clé par valeur dans un dictionnaire Python

La méthode dict.items() retourne une liste dont l’élément individuel est un tuple constitué de la clé de la valeur du dictionnaire. Nous pouvons obtenir la clé en itérant le résultat de dict.items() et en comparant la value avec le second élément du tuple.

Exemple de code :

my_dict = {"John": 1, "Michael": 2, "Shawn": 3}


def get_key(val):
    for key, value in my_dict.items():
        if val == value:
            return key

    return "There is no such Key"


print(get_key(1))
print(get_key(2))

Production :

John
Michael

Utilisez .keys() et .values() pour trouver la clé par valeur dans le dictionnaire Python

dict.keys() retourne une liste constituée de clés du dictionnaire ; dict.values() retourne une liste constituée de valeurs du dictionnaire. L’ordre des éléments générés dans .keys() et .values() est le même.

La méthode index() de la liste Python donne l’index de l’argument donné. Nous pouvons passer la value à la méthode index() de la liste des clés générées pour obtenir l’index de cette valeur. Ensuite, la clé peut être obtenue en accédant à la liste des valeurs générées avec l’index retourné.

my_dict = {"John": 1, "Michael": 2, "Shawn": 3}

list_of_key = list(my_dict.keys())
list_of_value = list(my_dict.values())

position = list_of_value.index(1)
print(list_of_key[position])

position = list_of_value.index(2)
print(list_of_key[position])

Production :

John
Michael
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - Python Dictionary