Maison > développement back-end > Tutoriel Python > Comment gérer « KeyError » lors de l'exécution de recherches inversées dans les dictionnaires Python ?

Comment gérer « KeyError » lors de l'exécution de recherches inversées dans les dictionnaires Python ?

Mary-Kate Olsen
Libérer: 2024-12-14 01:27:11
original
1011 Les gens l'ont consulté

How to Handle `KeyError` When Performing Reverse Lookups in Python Dictionaries?

Recherches inversées dans les dictionnaires Python : récupération des clés par valeurs

Bien que les dictionnaires Python fournissent un moyen efficace de mapper les clés à leurs valeurs correspondantes, il existe Il peut y avoir des situations dans lesquelles vous devez effectuer des recherches inversées. Cela peut s'avérer utile dans les scénarios dans lesquels vous avez une valeur et devez trouver la clé associée.

Question :

Supposons que vous disposiez d'un dictionnaire qui mappe les noms aux âges. . Votre tâche consiste à créer une fonction qui prend un âge en entrée et renvoie le nom correspondant. Cependant, votre script rencontre une erreur KeyError et vous demandez de l'aide pour modifier le code afin de gérer ce cas.

Code :

dictionary = {'george': 16, 'amber': 19}
search_age = raw_input("Provide age")
for age in dictionary.values():
    if age == search_age:
        name = dictionary[age]
        print name
Copier après la connexion

Solution :

Le code fourni tente de parcourir les valeurs du dictionnaire et de les comparer avec l'âge d'entrée. Si une correspondance est trouvée, le code tente de récupérer la clé correspondante dans le dictionnaire en utilisant le dictionnaire[age], c'est là que se produit l'erreur KeyError.

Pour effectuer des recherches inversées en Python, nous pouvons utiliser deux méthodes :

Méthode 1 :

mydict = {'george': 16, 'amber': 19}
print mydict.keys()[mydict.values().index(16)]  # Prints george
Copier après la connexion

Cette approche consiste à obtenir une liste de toutes les clés et valeurs en utilisant mydict.keys() et mydict.values(), respectivement. Nous utilisons ensuite index() sur la liste des valeurs pour trouver la position de l'âge d'entrée et récupérer la clé à cette position.

Méthode 2 (Python 3.x) :

mydict = {'george': 16, 'amber': 19}
print(list(mydict.keys())[list(mydict.values()).index(16)])  # Prints george
Copier après la connexion

Semblable à la première méthode, cette approche consiste à convertir des clés et des valeurs en listes. Cependant, il exploite la syntaxe Python 3.x pour simplifier le processus d'indexation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal