Les listes en Python : création et manipulation
- Définir une liste en Python par extension et par compréhension.
- Manipuler les éléments d’une liste (ajout, suppression, modification).
- Parcourir les éléments d’une liste.
- Itérer sur les éléments d’une liste.
- Une liste en Python désigne une collection finie et ordonnée d'objets. Elle est la représentation d'un ensemble fini d'objets que l'on distingue par leur ordre d'apparition.
- On crée une liste à l'aide des crochets [ ] et on sépare les objets de cette liste à l'aide d'une virgule. On parle alors de listes définies en extension.
- On peut également créer des listes par une commande du type [valeur boucle]. On parle alors de listes définies par compréhension.
- La méthode len() permet de renvoyer la
longueur d'une liste, c'est-à-dire le nombre
d'éléments qui la composent (il s'agit du
cardinal de la liste).
Une liste vide a pour longueur 0. - Les éléments d'une liste sont repérés à l'aide de leur indice, c’est-à-dire leur position à l’intérieur de la liste. Le premier élément a pour indice 0, le second 1, le dernier len(liste) – 1.
- La commande liste[ ] permet d’accéder facilement à un élément d’une liste grâce à son indice.
- La commande del() permet de supprimer un élément d’une liste grâce à l’indice de cet élément.
- La commande remove() permet de supprimer un élément repéré par sa valeur dans une liste.
- Elle supprime le premier élément de la liste ayant cette valeur.
- Connaitre la notion de variables en Python
- Savoir utiliser des instructions conditionnelles et des boucles
- Connaitre la notion de fonction en Python
Il existe différentes façons de définir
des collections d'objets en Python : tuples,
dictionnaires, listes, sets.
Dans cette fiche, nous nous intéresserons à la
notion de liste.
On crée une liste à l'aide des crochets [ ] et on sépare les objets de cette liste à l'aide d'une virgule. On parle alors de listes définies en extension.
L1 liste1 = [1, 2, 3]
L2 liste2 = ["a","b","c","d"]
L3 liste3 = [ ]
On vient de définir 3 listes dont la dernière (liste3) est une liste vide.
On peut s’assurer qu’il s’agit bien de listes grâce à la méthode type() :
Langage Python | Interprétation |
L1 liste1 = [1, 2,
3] L2 liste2 = ["a","b","c","d"] L3 liste3 = [ ] L4 type(liste1) L5 <class 'list'> L6 type(liste2) L7 <class 'list'> L8 type(liste3) L9 <class 'list'> |
L1, L2, L3 : L’utilisateur saisit
trois collections nommées liste1,
liste2, liste3. L4, L6, L8 : La commande type() demande le type des collections liste1, liste2, liste3. L5, L7, L9 : Pour chacune des collections, le programme répond qu’il s’agit d’une liste. |
On peut également créer des listes par une commande du type [valeur boucle]. On parle alors de listes définies par compréhension.
Langage Python | Interprétation |
L1 liste = [0 for i
in range(5)] L2 liste L3 [0, 0, 0, 0, 0] |
L1 : La commande [0 for i
in range(5)] demande de
créer une liste contenant 5 fois la
valeur 0. L2 et L3 : La liste demandée s’affiche. |
Langage Python | Interprétation |
L1 liste = [i for i
in range(5)] L2 liste L3 [0, 1, 2, 3, 4] |
L1 : La commande [i for i
in range(5)] demande de
créer une liste contenant les
5 premiers entiers naturels. L2 et L3 : La liste demandée s’affiche. |
Langage Python | Interprétation |
L1 liste = [i**2 for i
in range(5)] L2 liste L3 [0, 1, 4, 9, 16] |
L1 : La commande [i**2 for i
in range(5)] demande de
créer une liste contenant les
5 premiers carrés. L2 et L3 : La liste demandée s’affiche. |
L1 liste = [i**2 for i in range(1,5)]
Par rapport à l’exemple précédent, on a précisé à l’intérieur des parenthèses que le rang démarrait à 1.
L2 liste
L3 [1, 4, 9, 16]
Il est possible d’ajouter un test après la boucle pour filtrer les valeurs désirées.
On veut créer une liste de tous les nombres pairs compris entre 0 et 100.
L1 liste = [i for i in range(101) if i%2==0]
Le test if i%2==0 détermine si le reste de la division euclidienne de i par 2 est égal à 0, c'est-à-dire si le nombre i est pair.
L2 liste
L3 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]
Pour obtenir la liste des nombres impairs entre 0 et 100 :
L1 liste = [i for i in range(101) if i%2==1]
L2 liste
L3 [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
La méthode len() permet de renvoyer la
longueur d'une liste, c'est-à-dire le nombre
d'éléments qui la composent (il s'agit du
cardinal de la liste).
Une liste vide a pour longueur 0.
Langage Python | Interprétation |
L1 liste1 = [1, 2,
3] L2 liste2 = ["a","b","c","d"] L3 liste3 = [ ] L4 len(liste1) L5 3 L6 len(liste2) L7 4 L8 len(liste3) L9 0 |
L1, L2, L3 : L’utilisateur saisit
trois listes nommées liste1, liste2,
liste3. L4, L6, L8 : La commande len(liste) demande la longueur de chacune des listes. L5, L7, L9 : Le programme répond que les listes 1, 2 et 3 ont respectivement pour longueur 3, 4 et 0. |
Le premier élément a pour indice 0, le second 1, le dernier len(liste) – 1.
Le dernier élément d’une liste de longueur 3 a pour indice 3 – 1 = 2 puisque le premier élément a pour indice 0.
Langage Python | Interprétation |
L1 liste1 = [1, 2,
3] L2 liste2 = [0] L3 1 L4 liste[1] L5 2 L6 liste[2] L7 3 L8 liste[len(liste1) – 1] L9 3 |
L1 : L’utilisateur saisit une liste
[1, 2, 3]. L2, L4, L6 : La commande liste[0] demande le premier élément, liste[1] le deuxième élément, liste[2] le troisième élément. L3, L5, L7 : Le programme répond respectivement 1, 2 et 3. L8 : La commande liste[len(liste1) – 1] demande le dernier élément. L9 : Le programme répond 3. |
On peut obtenir le dernier terme d'une liste ou ceux précédant avec des indices négatifs.
L1 liste = ['a', 'b', 'c']
L2 liste[–1] # On demande le dernier élément de la liste.
L3 'c'
L4 liste[–2] # On demande l’avant-dernier élément de la liste.
L5 'b'
On peut modifier la valeur d’un élément repéré par son indice dans une liste.
L1 liste = [1, 2, 3]
L2 liste[0] = 5 # On modifie le premier élément en le remplaçant par 5.
L3 liste
L4 [5, 2, 3]
La commande del() permet de supprimer un élément d’une liste grâce à l’indice de cet élément.
Dans un interpréteur de commandes Python
L1 liste = [1, 2, 3]
L2 del(liste[0]) # On supprime le premier élément.
L3 liste
L4 [2, 3]
Dans un interpréteur de commandes Python
L1 liste = [1, 2, 3]
L2 del(liste[–1]) # On supprime le dernier élément.
L3 liste
L4 [1, 2]
Dans un interpréteur de commandes Python
L1 liste=['a',' b', 'c', 'd', 'e']
L2 del(liste[1 : 3]) # On supprime les éléments d’indices 1 à 3 exclu.
L3 liste
L4 ['a', 'd', 'e']
On peut parcourir les éléments d’une liste à l’aide d’une boucle parcourant ses indices.
Langage Python | Interprétation |
L1 def
afficher(list) L2 for i in range(len(list)) L3 print("élément d'indice", i, "valeur", list[i]) L4 liste[1, 2, 3, 4, 5, 6] L5 afficher(list) L6 élément d'indice 0 valeur 1 L7 élément d'indice 1 valeur 2 L8 élément d'indice 2 valeur 3 L9 élément d'indice 3 valeur 4 L10 élément d'indice 4 valeur 5 L11 élément d'indice 5 valeur 6 |
L1 à L3 Définition d’une
fonction L1 : L’utilisateur définit une fonction afficher(list). L2 : Cette fonction comprend une boucle qui parcourt les éléments d’une liste, entre les indices 0 et len(list) exclu. L3 : Pour chaque élément parcouru par la boucle, la fonction affiche son indice et sa valeur. L4 Saisie d’une liste L5 Appel de la fonction afficher(list) L6 à L11 Affichage des éléments parcourus par la boucle La fonction retourne chacun des éléments de la liste et son indice. |
Elle supprime le premier élément de la liste ayant cette valeur.
Langage Python | Interprétation |
L1 liste=[1, 2, 3, 1, 2, 3] L2 liste.remove(2) L3 liste L4 liste[1, 3, 1, 2, 3] L5 liste.remove(2) L6 liste L7 [1, 3, 1, 3] L8 liste.remove(3) L9 liste L10 [1 ,1, 3] |
L1 : L’utilisateur saisit une liste
[1, 2, 3, 1, 2,
3]. L2 : La commande liste.remove(2) supprime le premier élément ayant pour valeur 2. L3 et L4 : La liste demandée s’affiche. L5 : Dans cette nouvelle liste, on utilise à nouveau la commande liste.remove(2). L6 et L7 : La liste demandée s’affiche. Etc. |
On peut parcourir les éléments d’une liste à l’aide d’une boucle parcourant ses valeurs.
Langage Python | Interprétation |
L1 def afficher_element(list) L2 for valeur in list L3 print(valeur) L4 liste[1, 2, 3, 4, 5, 6] L5 afficher_element(list) L6 1 L7 2 L8 3 L9 4 L10 5 L11 6 |
L1 à L3 Définition d’une
fonction L1 : L’utilisateur définit une fonction afficher_element(list). L2 : Cette fonction comprend une boucle qui parcourt les valeurs d’une liste. L3 : La fonction affiche chaque valeur parcourue. L4 Saisie d’une liste L5 Appel de la fonction afficher_element(list) L6 à L11 Affichage des valeurs parcourues par la boucle La fonction retourne chacune des valeurs de la liste. |

Fiches de cours les plus recherchées
Découvrir le reste du programme


Des profs en ligne
- 6 j/7 de 17 h à 20 h
- Par chat, audio, vidéo
- Sur les matières principales

Des ressources riches
- Fiches, vidéos de cours
- Exercices & corrigés
- Modules de révisions Bac et Brevet

Des outils ludiques
- Coach virtuel
- Quiz interactifs
- Planning de révision

Des tableaux de bord
- Suivi de la progression
- Score d’assiduité
- Un compte Parent