Les compréhensions de liste

Les compréhensions de liste

Crée un compte
pour enregistrer ta progression

S'inscrire

Les compréhensions de liste

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Toutes les questions

Les compréhensions de liste

Dans cette partie, on va voir ce qu'on appelle les compréhensions de listes, que vous retrouverez également sous le nom de liste en compréhension, ou même list comprehension en anglais.

Les compréhensions de listes nous permettent d'itérer sur une liste et de filtrer les éléments, grâce à des structures conditionnelles, tout ça en une seule ligne.

Actuellement, si on veut filtrer les éléments d'une liste, on doit écrire pas mal de lignes de code.

liste = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
nombres_positifs = []
for i in liste:
    if i > 0:
        nombres_positifs.append(i)

Dans cet, on veut récupérer uniquement les nombres positifs dans la liste.

👉 On commence donc par créer une liste vide qui va contenir les nombres positifs

👉 On boucle ensuite sur chaque élément de notre liste d'origine

👉 On vérifie si l'élément sur lequel on itère est plus grand que 0

👉 et si c'est le cas, on l'ajoute à la liste que l'on a définie au début du script.

Tout ça, on va pouvoir l'écrire beaucoup plus simplement sur une seule ligne, grâce aux compréhensions de listes.

Dans son expression la plus simple, une compréhension de liste, ça ressemble à ça :

liste = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
nombres_positifs = [i for i in liste]

On retrouve les crochets qui définissent une liste et l'instruction for i in liste, qui nous permet d'itérer sur notre liste d'origine. Et pour finir, on indique ce qu'on veut faire avec i, dans ce cas-ci on fait juste retourner i, tel quel, donc on ne change rien.

En l'état, cette compréhension de liste ne change donc absolument rien à notre liste d'origine. La liste nombres_positifs contiendra tous les éléments de la liste qu'on a définie à la première ligne.

Là où ça devient intéressant, c'est qu'on peut ajouter à la fin de notre compréhension de liste, une structure conditionnelle pour filtrer les éléments.

liste = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
nombres_positifs = [i for i in liste if i > 0]

Dans cet exemple, on indique qu'on veut récupérer uniquement les éléments qui sont supérieurs à 0. On aura donc dans notre liste "nombres_positifs" uniquement les nombres 1, 2, 3, 4 et 5.

On peut également, directement à l'intérieur de notre compréhension de liste, modifier la valeur de i, comme dans l'exemple suivant, pour la multiplier par deux.

liste = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
nombres_positifs = [i * 2 for i in liste if i > 0]

On aura donc toujours uniquement les nombres positifs, et cette fois-ci, multipliés par deux, donc 2, 4, 6, 8 et 10 au lieu de 1, 2, 3, 4 et 5. Donc i * 2 pour i in liste si i > 0, tout ça à l'intérieur de deux crochets, et on a notre compréhension de liste.

00:00 : Dans cette partie, on va voir ce qu'on appelle les compréhensions de listes, que vous retrouverez également sous le nom de liste en compréhension, ou même list comprehension en anglais. Les compréhensions de listes, ça nous permet d'itérer sur une liste et de filtrer les éléments, grâce à des structures conditionnelles, tout ça en une seule ligne.

00:16 : Actuellement, si on veut filtrer les éléments d'une liste, on doit écrire pas mal de lignes de code. Par exemple ici, on veut récupérer uniquement les nombres positifs dans la liste. On commence donc par créer une liste vide qui va contenir les nombres positifs, on boucle ensuite sur chaque élément de notre liste d'origine, on vérifie si l'élément sur lequel on itère est plus grand que 0, et si c'est le cas, on l'ajoute à la liste que l'on a définie au début du script.

00:40 : Tout ça, on va pouvoir l'écrire beaucoup plus simplement sur une seule ligne, grâce aux compréhensions de listes. Dans son expression la plus simple, une compréhension de liste, ça ressemble à ça. On retrouve les crochets qui définissent une liste, et l'instruction « for i in liste », qui nous permet d'itérer sur notre liste d'origine.

00:57 : Et pour finir, on indique ce qu'on veut faire avec "i", dans ce cas-ci on fait juste retourner "i", tel quel, donc on ne change rien. En l'état, cette compréhension de liste du coup, elle ne change absolument rien à notre liste d'origine. La liste "nombres_positifs", elle contiendra tous les éléments de la liste qu'on a définie à la première ligne.

01:14 : Là où ça devient intéressant, c'est qu'on peut ajouter à la fin de notre compréhension de liste, une structure conditionnelle pour filtrer les éléments. On indique ici qu'on veut récupérer uniquement les éléments qui sont supérieurs à 0.

01:26 : On aura donc dans notre liste "nombres_positifs" uniquement les nombres 1, 2, 3, 4 et 5. On peut également, directement à l'intérieur de notre compréhension de liste, modifier la valeur de "i", comme ici, par exemple, pour la multiplier par deux.

01:39 : On aura donc toujours uniquement les nombres positifs, et cette fois-ci, multipliés par deux, donc 2, 4, 6, 8 et 10 au lieu de 1, 2, 3, 4 et 5. Donc « i * 2 » pour « i in liste » si « i > 0 », tout ça à l'intérieur de deux crochets, et on a notre compréhension de liste.

01:56 : Donc, les compréhensions de listes, elles sont très pratiques et elles nous permettent d'écrire du code beaucoup plus efficace. Forcément, ça prend un peu de pratique afin de savoir les manipuler correctement, et c'est pour ça que vous retrouverez donc plusieurs exercices dans les prochaines parties pour vous familiariser avec ce concept et pouvoir les utiliser à bon escient.

Préférences de lecture

Les changements sont sauvegardés automatiquement.

Lecture automatique

Passe automatiquement à la prochaine vidéo.

Sous-titres

Active automatiquement les sous-titres lorsqu'ils sont disponibles.

Effets sonores

Active les effets sonores pour marquer la progression dans le cours (0 = désactive les effets sonores).

Vitesse

La vitesse de lecture des vidéos.

Mes notes

Réservé aux membres abonnés

Inscris-toi

Pour pouvoir prendre des notes et ajouter des favoris tu dois être abonné à Docstring.

Voir les formules

Bravo, tu es prêt à passer à la suite 👏

Fête

Tu as complété % du parcours.

Mes notes

Sauvegardé

Passages surlignés

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Aucun résultat.

Un problème sur le site ?

Aide-nous à améliorer Docstring en nous signalant un problème que tu as rencontré.

Que ce soit un bug sur une fonctionnalité ou une erreur dans une formation, on va pouvoir le corriger rapidement 😉

Page concernée

M'avertir par e-mail

Je veux être averti par e-mail lorsque ce bug est corrigé.