Maison > développement back-end > Tutoriel Python > Comment puis-je effectuer une recherche inversée pour trouver une clé en fonction de sa valeur dans un dictionnaire Python ?

Comment puis-je effectuer une recherche inversée pour trouver une clé en fonction de sa valeur dans un dictionnaire Python ?

Patricia Arquette
Libérer: 2024-12-21 12:28:09
original
550 Les gens l'ont consulté

How Can I Perform a Reverse Lookup to Find a Key Based on its Value in a Python Dictionary?

Recherche inversée dans les dictionnaires : récupérer des clés à partir de valeurs

Lorsque l'on traite des dictionnaires en programmation, il est souvent nécessaire de récupérer des clés associées à des valeurs spécifiques. Dans ce contexte, une fonction vous est présentée qui vise à rechercher des âges dans un dictionnaire et à afficher le nom correspondant.

Résolution de l'erreur KeyError et de la recherche inversée

Le code que vous avez fourni génère un KeyError à la ligne 5 car il essaie de trouver l'âge comme clé dans le dictionnaire. Pour résoudre ce problème, vous devez plutôt rechercher l'âge en tant que valeur.

Utilisation des méthodes key() et values()

Pour résoudre le problème, envisagez d'utiliser les touches() et méthodes valeurs() en Python. Ces méthodes permettent de séparer les clés et les valeurs du dictionnaire en listes distinctes.

Le code corrigé ci-dessous montre comment récupérer la clé associée à un âge spécifié :

mydict = {'george': 16, 'amber': 19}
search_age = raw_input("Provide age")
name = mydict.keys()[mydict.values().index(int(search_age))]
print(name)
Copier après la connexion

En Python 3.x, vous pouvez utiliser le code suivant :

mydict = {'george': 16, 'amber': 19}
search_age = input("Provide age")
name = list(mydict.keys())[list(mydict.values()).index(int(search_age))]
print(name)
Copier après la connexion

Cette approche sépare les valeurs du dictionnaire dans une liste, localise la position de la valeur souhaitée, puis récupère la clé à cette position, complétant avec succès la recherche inversée. Désormais, vous pouvez récupérer le nom associé à n'importe quel âge stocké dans le dictionnaire.

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