Häufige Verwendung von Collections
namedtuple: Erstellen von Leichtgewicht-Objekten
from collections import namedtuple
## Define a Point with x and y coordinates
Point = namedtuple('Point', ['x', 'y'])
p = Point(10, 20)
print(p.x, p.y) ## Output: 10 20
deque: Effiziente doppelt verkettete Warteschlange (Double-Ended Queue)
from collections import deque
## Create a double-ended queue
d = deque([1, 2, 3])
d.appendleft(0) ## Add to left
d.append(4) ## Add to right
print(d) ## Output: deque([0, 1, 2, 3, 4])
Counter: Zählen und Nachverfolgen von Vorkommen
from collections import Counter
## Count word frequencies
words = ['apple', 'banana', 'apple', 'cherry']
word_count = Counter(words)
print(word_count) ## Output: Counter({'apple': 2, 'banana': 1, 'cherry': 1})
OrderedDict: Aufrechterhaltung der Einfügereihenfolge
from collections import OrderedDict
## Create an ordered dictionary
od = OrderedDict()
od['first'] = 1
od['second'] = 2
od['third'] = 3
for key, value in od.items():
print(key, value)
defaultdict: Vereinfachte Dictionary-Initialisierung
from collections import defaultdict
## Create a defaultdict with list as default factory
dd = defaultdict(list)
dd['users'].append('Alice')
dd['users'].append('Bob')
print(dd) ## Output: defaultdict(<class 'list'>, {'users': ['Alice', 'Bob']})
Muster der Collection-Verwendung
graph TD
A[Collections Usage] --> B[Data Counting]
A --> C[Efficient Storage]
A --> D[Order Preservation]
B --> E[Counter]
C --> F[deque]
D --> G[OrderedDict]
Praktische Szenarien
Collection-Typ |
Anwendungsfall |
Beispiel |
namedtuple |
Leichtgewichtige Datenstrukturen |
Darstellung von Koordinaten |
deque |
Effiziente Warteschlangenoperationen |
Task-Scheduling |
Counter |
Häufigkeitsanalyse |
Wortzählung |
OrderedDict |
Aufrechterhaltung der Reihenfolge |
Konfigurations-Einstellungen |
defaultdict |
Vereinfachtes Dictionary |
Gruppierung von Daten |
Leistungsüberlegungen
- Wählen Sie die richtige Collection für die jeweiligen Aufgaben
- Berücksichtigen Sie die Speicher- und Zeitkomplexität
- Nutzen Sie die eingebauten Methoden
LabEx-Empfehlung
Üben Sie diese Collections in realen Szenarien, um ihre Verwendung zu meistern und Ihre Python-Programmierfähigkeiten zu verbessern.