Maison  >  Article  >  développement back-end  >  Comment puis-je inverser un dictionnaire Python avec des valeurs de liste ?

Comment puis-je inverser un dictionnaire Python avec des valeurs de liste ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 05:55:01413parcourir

How Can I Invert a Python Dictionary with List Values?

Inverser un dictionnaire avec des valeurs de liste : une solution complète

Dans le domaine de la programmation Python, les dictionnaires sont des structures indispensables pour stocker des données avec des paires clé-valeur. Il arrive parfois qu'il soit nécessaire d'inverser un dictionnaire, notamment lorsque les valeurs sont des listes. Cette tâche présente des défis en raison de la nature impossible à hacher des listes. Cependant, il existe une solution simple pour surmonter cet obstacle.

Pour réaliser l'inversion d'un dictionnaire avec des valeurs de liste, on peut utiliser l'extrait suivant :

<code class="python">inverse = {}
for k,v in index.items():
    for x in v:
        inverse.setdefault(x, []).append(k)</code>

Dans cette approche, le la boucle externe parcourt les clés et les valeurs du dictionnaire d'origine. Pour chaque valeur (qui est une liste), la boucle interne parcourt chaque élément de cette liste. Pour chaque élément rencontré, le comportement du dictionnaire inverse est déterminé par la logique suivante :

  • Si l'élément (x) existe déjà comme clé dans le dictionnaire inverse, la clé du dictionnaire d'origine (k) est ajouté à la liste de valeurs correspondante.
  • Si l'élément n'existe pas encore en tant que clé, une nouvelle clé est créée avec une liste vide comme valeur, et la clé du dictionnaire d'origine est ajoutée à cette nouvelle list.

Ce processus inverse efficacement le dictionnaire d'origine, les valeurs (clés d'origine) devenant des clés, et les clés (valeurs d'origine) transformées en listes de clés d'où elles proviennent. Le dictionnaire inverse résultant contient le format souhaité.

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!

Déclaration:
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