Maison >développement back-end >Tutoriel Python >Comment inverser un dictionnaire avec des valeurs de liste ?
Inverser un dictionnaire avec des valeurs de liste
Inverser un dictionnaire implique de créer un nouveau dictionnaire dans lequel les clés et les valeurs du dictionnaire d'origine sont échangées. Lorsque le dictionnaire d'origine contient des valeurs de liste, il présente des défis en raison de l'incapacité de Python à hacher des listes.
Utilisation de tuples pour les clés de tuple
Une approche pour résoudre ce problème consiste à convertir les valeurs de la liste en tuples. Les tuples sont immuables et peuvent être hachés, ce qui leur permet de servir de clés dans un dictionnaire.
Considérez le code suivant :
<code class="python">inverted_index = {} for key, values in index.items(): for value in values: tuple_key = (key, value) inverted_index.setdefault(tuple_key, []).append(key)</code>
Ce code crée une nouvelle clé pour chaque combinaison unique du clé et valeur d'origine. Le dictionnaire inverted_index est ensuite renseigné avec les paires clé-valeur inversées.
Utilisation d'ensembles pour des valeurs uniques
Vous pouvez également utiliser des ensembles pour gérer les valeurs en double dans le dictionnaire inversé. dictionnaire. Les ensembles sont des collections non ordonnées d'éléments uniques.
<code class="python">inverted_index = {} for key, values in index.items(): unique_values = set(values) for value in unique_values: inverted_index.setdefault(value, set()).add(key)</code>
Ce code crée un ensemble de valeurs uniques pour chaque clé d'origine. Le dictionnaire inverted_index est ensuite rempli avec les paires clé-valeur inversées, où les valeurs sont des ensembles de clés originales uniques.
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!