Das Modul 'collections' in Python erfüllt einen speziellen und nützlichen Zweck: Es bietet alternative Container-Datentypen wie namedtuples, deque, Counter usw. Diese sind varianten von Python's integrierten Container-Datentypen und erweitern deren Funktionalitäten.
Der namedtuple()
ist eine Funktion, die im Grunde einen neuen Datentyp erstellt. Es ermöglicht dem Programmierer, Tupel zu erstellen, die auch über Namen zugänglich sind und nicht nur über die Position. Das erhöht die Lesbarkeit des Codes beträchtlich.
from collections import namedtuple
Person = namedtuple('Person', 'name alter')
tom = Person(name='Tom', alter=20)
print(tom.name) # Ausgabe: 'Tom'
Der deque
(double-ended queue) ist eine Art Liste, bei der man Elemente sowohl am Anfang als auch am Ende effizient hinzufügen oder entfernen kann.
from collections import deque
d = deque('ghi') # erstellt deque mit den Elementen 'g', 'h', 'i'
d.append('j') # hängt 'j' am Ende an
d.appendleft('f') # hängt 'f' am Anfang an
print(d) # Ausgabe: deque(['f', 'g', 'h', 'i', 'j'])
Der Counter
ist ein spezieller Wörterbuch-Typ, der zum Zählen von Hash-fähigen Objekten dient. Es ist eine Unterklasse von dict
.
from collections import Counter
c = Counter('gallahad') # zählt die Anzahl jedes Zeichens in 'gallahad'
print(c) # Ausgabe: Counter({'a': 3, 'l': 2, 'g': 1, 'h': 1, 'd': 1})
Die Nutzung des collections
-Moduls kann bei der Organisation und Aufbereitung von Datenstrukturen in Python sehr hilfreich sein. Die zusätzlichen Container-Datentypen bieten mehr Funktionalität und Flexibilität als die eingebauten Typen und können die Lesbarkeit und Effizienz des Codes verbessern.