Accéder au contenu principal

Listes : segments de taille N

Dans ce tutoriel, vous allez travailler avec des listes et apprendre une façon efficace de diviser des listes de taille arbitraire en segments d'une taille donnée.
Actualisé 19 sept. 2026  · 5 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

Les listes sont des structures de données intégrées de Python qui stockent des éléments hétérogènes et permettent d'y accéder efficacement. La tâche du jour, diviser des listes en segments de taille N, est une pratique courante lorsqu'il existe une limite au nombre d'éléments que votre programme peut traiter en une seule requête.

Listes

Les listes sont des structures capables de contenir des valeurs ou éléments de types variés : entiers, nombres à virgule flottante, chaînes de caractères, etc. Elles sont mutables, c'est-à-dire que vous pouvez modifier leur contenu sans changer leur identité. Elles s'écrivent entre crochets [ ], et les éléments sont séparés par une virgule (,). Créons une liste de nombres pour nous exercer ...

# Création d'une liste de 95 nombres
list_numbers = list(range(1, 96))
print(list_numbers)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95]

La fonction range() génère une séquence de nombres. Elle prend la forme : range([start], stop[, step]) où « start » et « step » sont facultatifs. start est la valeur de départ de la séquence, stop est la borne supérieure non incluse, et step représente l'incrément entre deux nombres. Les index sont basés sur 0 : si vous ne spécifiez pas la valeur de départ, l'indexation de la liste commence à 0 et non à 1.

Imaginons maintenant que vous deviez découper cette liste en sous-listes comportant chacune 5 éléments.

Une première méthode consiste à définir un générateur, une façon élégante de définir un itérateur. Qu'est-ce qu'un itérateur ? En termes simples, c'est un objet qui sait calculer et renvoyer l'élément suivant d'une série au fil de l'itération. Pour aller plus loin sur les itérateurs et générateurs, consultez le Python Iterator Tutorial de DataCamp.

Nous définissons une fonction qui contient le générateur effectuant le travail pour nous.

 # Génère des segments successifs de taille 'n' à partir de la liste 'list_name'
def create_chunks(list_name, n):
    for i in range(0, len(list_name), n):
        yield list_name[i:i + n]

# Appeler la fonction 'create_chunks' pour diviser la liste en sous-listes de 10 éléments
print(list(create_chunks(list_numbers, 10)))

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], [51, 52, 53, 54, 55, 56, 57, 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], [71, 72, 73, 74, 75, 76, 77, 78, 79, 80], [81, 82, 83, 84, 85, 86, 87, 88, 89, 90], [91, 92, 93, 94, 95]]

Autre approche : utiliser simplement une compréhension de liste. Pour en savoir plus, consultez le Python List Comprehension Tutorial de DataCamp.

print([list_numbers[i: i+10] for i in range(0, len(list_numbers), 10)])

[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36, 37, 38, 39, 40], [41, 42, 43, 44, 45, 46, 47, 48, 49, 50], [51, 52, 53, 54, 55, 56, 57, 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], [71, 72, 73, 74, 75, 76, 77, 78, 79, 80], [81, 82, 83, 84, 85, 86, 87, 88, 89, 90], [91, 92, 93, 94, 95]]

Lorsque le problème se complexifie, les compréhensions de liste deviennent vite difficiles à lire et à déboguer. Rédiger une fonction claire, comme avec le générateur, est souvent plus utile et plus facile à maintenir.

Dans ce tutoriel, vous avez découvert deux manières de résoudre un problème fréquent lié aux listes. Découvrez aussi le cours Data Types for Data Science de DataCamp.

Sujets
Science des données
Python

Cours Python

Cours

Introduction à Python

4 h
7M
Apprenez les bases de l’analyse de données avec Python en quatre heures et explorez ses principaux packages.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow