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

Mary-Kate Olsen
Libérer: 2024-10-31 05:55:01
original
428 Les gens l'ont consulté

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>
Copier après la connexion

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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!