Maison > Article > développement back-end > Voici quelques options de titre, en gardant à l'esprit le format question-réponse et l'accent mis par l'article sur le regroupement de paires de données en Python : Option 1 (Général) : * Comment regrouper des paires de données en Python basé sur S
Problème :
Étant donné un ensemble de paires de données, regroupez-les en fonction de la valeur à un index spécifié et convertissez-les dans le format souhaité.
Solution :
Pour regrouper efficacement les paires de données par type, suivez ces étapes :
Étape 1 : Créer un dictionnaire
Créez un dictionnaire en utilisant le defaultdict du module collections, où les clés sont les types et les valeurs sont des listes de valeurs :
<code class="python">from collections import defaultdict res = defaultdict(list) for v, k in input: res[k].append(v)</code>
Étape 2 : Convertir le dictionnaire au format souhaité
Convertir le dictionnaire créé en une liste de dictionnaires au format souhaité :
<code class="python">result = [{'type': k, 'items': v} for k,v in res.items()]</code>
Considérations supplémentaires :
Approche alternative utilisant **itertools.groupby()** :
Une approche alternative consiste à utiliser la fonction itertools.groupby, mais nécessite que les données d'entrée soient triées terlebih dahulu.
<code class="python">import operator as itemgetter import itertools sorted_input = sorted(input, key=itemgetter(1)) groups = itertools.groupby(sorted_input, key=itemgetter(1)) result = [{'type': k, 'items':[x[0] for x in v]} for k, v in groups]</code>
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!