Zum Inhalt springen

Python-Listen gruppieren

Python ist eine hochentwickelte Programmiersprache, die aufgrund ihrer Benutzerfreundlichkeit und Vielseitigkeit unter Entwicklern immer beliebter geworden ist. Eine der wichtigsten Funktionen von Python ist die Unterstützung für Listen, eine leistungsstarke Datenstruktur, die es Benutzern ermöglicht, Daten auf flexible und effiziente Weise zu speichern, zu organisieren und zu manipulieren. In diesem Kapitel werden wir uns intensiv mit Python-Listen befassen und einen umfassenden Leitfaden bereitstellen, der Ihnen hilft, das Gruppieren effektiv zu meistern.

Das Gruppieren einer Liste bedeutet, ihre Elemente basierend auf einer gemeinsamen Eigenschaft oder einem Schlüssel in Untergruppen zu organisieren. Dies ist eine häufige Anforderung bei der Verarbeitung von Datensätzen, dem Filtern von Datensätzen oder der Vorbereitung von Daten für die Analyse. Python bietet mehrere integrierte Tools und Standardbibliotheksmodule, um dies ohne das Schreiben komplexer Schleifen zu erreichen.

python
from collections import defaultdict

data = [
    {'category': 'fruit', 'name': 'apple'},
    {'category': 'vegetable', 'name': 'carrot'},
    {'category': 'fruit', 'name': 'banana'},
    {'category': 'vegetable', 'name': 'broccoli'},
]

grouped = defaultdict(list)
for item in data:
    grouped[item['category']].append(item)

print(dict(grouped))
# Output: {'fruit': [{'category': 'fruit', 'name': 'apple'}, {'category': 'fruit', 'name': 'banana'}], 'vegetable': [{'category': 'vegetable', 'name': 'carrot'}, {'category': 'vegetable', 'name': 'broccoli'}]}

Dieser Ansatz verwendet collections.defaultdict, um Listen für neue Schlüssel automatisch zu initialisieren, was das Aggregieren von Elementen nach einem bestimmten Attribut erheblich vereinfacht. In den folgenden Abschnitten werden wir zusätzliche Techniken erkunden, darunter Dictionary-Comprehensions und itertools.groupby, um verschiedene Gruppierungsszenarien effizient zu bewältigen.

Practice

Wie lauten die korrekten Möglichkeiten, eine Liste in Python zu deklarieren?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.