Utilisation courante des collections
namedtuple : Création d'objets légers
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 : File à double extrémité efficace
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 : Comptage et suivi des occurrences
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 : Maintien de l'ordre d'insertion
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 : Initialisation simplifiée des dictionnaires
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']})
Modèles d'utilisation des collections
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]
Scénarios pratiques
Type de collection |
Cas d'utilisation |
Exemple |
namedtuple |
Structures de données légères |
Représentation de coordonnées |
deque |
Opérations de file efficaces |
Planification de tâches |
Counter |
Analyse de fréquence |
Comptage de mots |
OrderedDict |
Maintien de l'ordre |
Paramètres de configuration |
defaultdict |
Dictionnaire simplifié |
Groupement de données |
- Choisissez la bonne collection pour les tâches spécifiques
- Tenez compte de la complexité mémoire et temporelle
- Exploitez les méthodes intégrées
Recommandation de LabEx
Pratiquez ces collections dans des scénarios réels pour maîtriser leur utilisation et améliorer vos compétences en programmation Python.