Les listes en Python : création et manipulation - Maxicours

Les listes en Python : création et manipulation

Objectifs
  • 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.
Points clés
  • 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.
Pour bien comprendre
  • 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.

1. Listes en extension et en compréhension
a. Définition 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.
b. Création d'une liste en extension
Méthode

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.

Exemples dans un interpréteur de commandes Python :
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.
c. Création d'une liste par compréhension
Méthode

On peut également créer des listes par une commande du type [valeur boucle]. On parle alors de listes définies par compréhension.

Exemple 1
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.
Exemple 2
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.
Exemple 3
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.
Si l’on veut les carrés des entiers de 1 à 4 :
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.

Exemple 4
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]
d. Longueur d'une liste

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.

Exemples dans un interpréteur de commandes Python :
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.
2. Utilisation des indices des éléments d'une liste
a. Définition d'un indice
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.
Exemple
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.
b. Accéder à un élément repéré par son indice
La commande liste[ ] permet d’accéder facilement à un élément d’une liste grâce à son indice.
Exemples dans un interpréteur de commandes Python
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.
Remarque
On peut obtenir le dernier terme d'une liste ou ceux précédant avec des indices négatifs.
Exemple dans un interpréteur de commandes Python
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'
c. Modifier un élément repéré par son indice

On peut modifier la valeur d’un élément repéré par son indice dans une liste.

Exemple dans un interpréteur de commandes Python
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]
d. Supprimer un élément repéré par son indice

La commande del() permet de supprimer un élément d’une liste grâce à l’indice de cet élément.

Exemple 1
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]
Exemple 2
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]
Exemple 3
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']
e. Parcourir les éléments repérés par leurs indices

On peut parcourir les éléments d’une liste à l’aide d’une boucle parcourant ses indices.

Exemple dans un interpréteur de commandes Python
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.
3. Utilisation des valeurs d'une liste
a. Supprimer un élément repéré par sa valeur
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.
Exemple dans un interpréteur de commandes Python
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.
b. Parcourir les éléments repérés par leur valeur

On peut parcourir les éléments d’une liste à l’aide d’une boucle parcourant ses valeurs.

Exemple dans un interpréteur de commandes Python
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.

Vous avez déjà mis une note à ce cours.

Découvrez les autres cours offerts par Maxicours !

Découvrez Maxicours

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Des profs en ligne

quote blanc icon

Découvrez Maxicours

Exerce toi en t’abonnant

Des profs en ligne

  • 6j/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