Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Grouper par cle
Regrouper des employés par département, des commandes par client, des logs par niveau de sévérité : c'est une opération que tu feras constamment en tant que développeur. Pandas a groupby(), mais savoir le coder toi-même, c'est comprendre le mécanisme.
L'idée : parcourir une liste de dictionnaires et rassembler ceux qui partagent la même valeur pour une clé donnée.
Écris une fonction grouper_par(liste, cle) qui prend une liste de dictionnaires et retourne un dictionnaire les regroupant par la valeur de la clé donnée.
Tests (2/4)
Grouper par ville
data = [{'n':'A','v':'Paris'},{'n':'B','v':'Lyon'},{'n':'C','v':'Paris'}]
r = grouper_par(data, 'v')
assert len(r['Paris']) == 2
assert len(r['Lyon']) == 1
Liste vide
assert grouper_par([], 'x') == {}
+ 0 tests cachés
Indices (3 disponibles)
Solution officielle
def grouper_par(liste, cle):
result = {}
for item in liste:
k = item[cle]
if k not in result:
result[k] = []
result[k].append(item)
return result