Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Daten in Python nach Schlüsseln gruppieren und das Ergebnis in einem bestimmten Format zurückgeben, um Daten mit sich wiederholenden Schlüsseln effektiv zu verarbeiten und die Reihenfolge aufrechtzuerhalten?
Python-Gruppierung von Daten nach Schlüsseln
Diese Anleitung befasst sich mit der Aufgabe, Daten nach bestimmten Schlüsseln in Python zu gruppieren. Unser Ziel ist es, eine effiziente und geordnete Gruppierungslösung für den gegebenen Datensatz zu erreichen.
Problemstellung
Betrachten Sie den folgenden Datensatz, der als Schlüssel-Wert-Paare dargestellt wird:
<code class="python">input = [ ('11013331', 'KAT'), ('9085267', 'NOT'), ('5238761', 'ETH'), ('5349618', 'ETH'), ('11788544', 'NOT'), ('962142', 'ETH'), ('7795297', 'ETH'), ('7341464', 'ETH'), ('9843236', 'KAT'), ('5594916', 'ETH'), ('1550003', 'ETH') ]</code>
Das Ziel besteht darin, diese Datenpaare nach ihren entsprechenden Schlüsseln (dem zweiten Element in jedem Tupel) zu gruppieren und das gruppierte Ergebnis im folgenden Format zurückzugeben:
<code class="python">result = [ { 'type': 'KAT', 'items': ['11013331', '9843236'] }, { 'type': 'NOT', 'items': ['9085267', '11788544'] }, { 'type': 'ETH', 'items': ['5238761', '962142', '7795297', '7341464', '5594916', '1550003'] } ] </code>
Lösung
Im Folgenden finden Sie die Schritte zum effizienten Gruppieren der Daten:
Erstellen Sie ein Wörterbuch: Verwenden Sie ein Standarddict, um die Elemente für jeden Schlüssel zu speichern. Initialisieren Sie das Wörterbuch mit einer Standardfabrik, die für jeden neuen Schlüssel eine leere Liste erstellt.
<code class="python">from collections import defaultdict res = defaultdict(list) for v, k in input: res[k].append(v)</code>
Konvertieren Sie das Wörterbuch in das erwartete Format:Um das Finale zu generieren Konvertieren Sie als Ergebnis das Wörterbuch in eine Liste von Wörterbüchern mit der gewünschten Struktur.
<code class="python">result = [{'type': k, 'items': v} for k, v in res.items()]</code>
Optionale Hinweise:
Das obige ist der detaillierte Inhalt vonWie kann ich Daten in Python nach Schlüsseln gruppieren und das Ergebnis in einem bestimmten Format zurückgeben, um Daten mit sich wiederholenden Schlüsseln effektiv zu verarbeiten und die Reihenfolge aufrechtzuerhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!