Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Tri et pagination
Quand tu affiches des résultats sur un site, tu ne montres pas tout d'un coup. Tu affiches 10 ou 20 résultats par page, avec des boutons 'Page suivante'. C'est la pagination.
Écris une fonction paginer(données, page, par_page, tri_par=None, desc=False) qui : 1. Trie les données par le champ tri_par si specifie (ordre decroissant si desc=True) 2. Retourne uniquement les éléments de la page demandee (pages numérotees a partir de 1)
Exemple : data = [{'n': 0}, {'n': 1}, {'n': 2}, {'n': 3}, {'n': 4}] paginer(data, 2, 2) renvoie [{'n': 2}, {'n': 3}] (page 2, 2 par page)
Tests (2/4)
Page 1
data = [{'n': i} for i in range(10)]
assert len(paginer(data, 1, 3)) == 3
Tri
data = [{'v': 3}, {'v': 1}, {'v': 2}]
r = paginer(data, 1, 10, tri_par='v')
assert r[0]['v'] == 1