Regroupement des listes Python
Python est un langage de programmation de haut niveau qui est devenu de plus en plus populaire parmi les développeurs grâce à sa facilité d'utilisation et à sa polyvalence. L'une des fonctionnalités clés de Python est son support des listes, une structure de données puissante qui permet aux utilisateurs de stocker, d'organiser et de manipuler des données de manière flexible et efficace. Dans ce chapitre, nous plongerons au cœur des listes Python et vous fournirons un guide complet pour vous aider à maîtriser leur regroupement.
Regrouper une liste consiste à organiser ses éléments en sous-groupes en fonction d'une caractéristique ou d'une clé commune. Il s'agit d'une exigence courante lors du traitement de jeux de données, du filtrage d'enregistrements ou de la préparation des données pour l'analyse. Python propose plusieurs outils intégrés et modules de la bibliothèque standard pour accomplir cette tâche sans écrire de boucles complexes.
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'}]}Cette approche utilise collections.defaultdict pour initialiser automatiquement des listes pour les nouvelles clés, ce qui rend l'agrégation des éléments par attribut spécifique très simple. Dans les sections suivantes, nous explorerons des techniques supplémentaires, notamment les compréhensions de dictionnaires et itertools.groupby, pour gérer efficacement divers scénarios de regroupement.
Pratique
Quelles sont les méthodes correctes pour déclarer une liste en Python ?