Maison > développement back-end > Tutoriel Python > Comment puis-je trouver efficacement des clés de dictionnaire en fonction de leurs valeurs en Python ?

Comment puis-je trouver efficacement des clés de dictionnaire en fonction de leurs valeurs en Python ?

DDD
Libérer: 2024-12-16 15:57:12
original
327 Les gens l'ont consulté

How Can I Efficiently Find Dictionary Keys Based on Their Values in Python?

Trouver des clés à partir de valeurs dans des dictionnaires

Vous avez rencontré un défi en récupérant le nom associé à un âge spécifique dans un dictionnaire Python. Voyons comment vous pouvez y parvenir avec une approche plus efficace.

Le problème

Votre code d'origine tente de parcourir les valeurs du dictionnaire et de les comparer à l'entrée. âge. Cependant, l'itération sur les valeurs ne permet pas à elle seule d'accéder aux clés correspondantes. Cela conduit à l'erreur KeyError rencontrée lorsque vous essayez de récupérer le nom directement.

Solution

Pour trouver la clé associée à une valeur spécifique, utilisez une méthode qui inverse la relation clé-valeur. En Python, les méthodes dict.keys() et dict.values() peuvent être exploitées pour y parvenir.

Python 2.x

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

En Python 2.x, mydict.values() renvoie une liste de valeurs. En utilisant index(), vous pouvez déterminer la position de la valeur cible dans cette liste. La clé correspondante peut ensuite être récupérée à l'aide de mydict.keys()[index].

Python 3.x

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

Dans Python 3.x, les deux dict .keys() et dict.values() renvoient des itérateurs. Pour obtenir une liste, vous devez la lancer explicitement en utilisant list() comme indiqué ci-dessus.

Conclusion

Cette approche vous permet de récupérer efficacement des clés basées sur des valeurs connues dans un dictionnaire Python. N'oubliez pas de prendre en compte la version de Python que vous utilisez, car la syntaxe peut varier légèrement d'une version à l'autre.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal