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.
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?