Comment récupérer une clé en fonction de sa valeur dans un dictionnaire Python ?

Susan Sarandon
Libérer: 2024-10-17 16:00:03
original
871 Les gens l'ont consulté

How to Retrieve a Key Based on Its Value in a Python Dictionary?

Recherche d'une clé à partir d'une valeur dans un dictionnaire Python

Dans un dictionnaire, localiser une clé en fonction de sa valeur correspondante peut être une tâche courante tâche. Bien qu'il existe des méthodes alternatives disponibles, telles que l'utilisation de la fonction dict.get() ou l'itération dans les éléments du dictionnaire, une approche simple et efficace consiste à utiliser une compréhension de liste.

Mise en œuvre de la recherche de clé

Pour trouver la clé souhaitée, vous pouvez utiliser la compréhension de liste suivante :

<code class="python">key = [key for key, value in dict_obj.items() if value == 'value'][0]</code>
Copier après la connexion

Cette compréhension parcourt toutes les paires clé-valeur du dictionnaire et filtre en fonction de la valeur fournie , renvoyant une liste de clés correspondantes. L'index [0] est ensuite utilisé pour récupérer la première clé de la liste.

Approche alternative : expression génératrice

Au lieu d'une compréhension de liste, une expression génératrice peut fournir un moyen plus efficace de gérer des dictionnaires volumineux. Une expression génératrice renvoie un objet générateur qui génère des valeurs une par une. Il est plus efficace en mémoire et évite de créer des listes intermédiaires.

L'expression génératrice suivante permet d'obtenir le même résultat :

<code class="python">key = next(key for key, value in dd.items() if value == 'value')</code>
Copier après la connexion

où dd est le dictionnaire cible. Cette expression parcourt les éléments du dictionnaire et génère la première clé correspondante. Si aucune correspondance n’est trouvée, StopIteration sera déclenché. La capture de cette exception peut aider à gérer les cas où la valeur n'est pas présente 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
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