Vous êtes sur la page 1sur 22

Structures de données

Les listes

Mustapha Lourika

CPGE Salmane Al Farissi - Salé / MPSI - 1TSI

2023 - 2024
1 Introduction

2 Les listes
Création de listes
Accès aux éléments d’une liste
Tranchage (Slicing)
Modifier une liste
Créer une copie d’une liste
Ajout et suppression d’éléments d’une liste
Autres méthodes
Parcourir une liste
Opération sur les listes
Exercice

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 2 / 22
Introduction

Introduction
Dans de nombreux langages de programmation, les types de données simples
peuvent être limités en termes de représentation et de manipulation de données
complexes. Par exemple, stocker une liste de valeurs dans des variables
individuelles peut être peu pratique. C’est là que les structures de données entrent
en jeu. Elles offrent une solution pour organiser et manipuler efficacement des
ensembles de données de manière plus structurée.
Les listes, une des structures de données fondamentales en Python, permettent de
stocker et de gérer des collections ordonnées d’éléments de manière flexible et
puissante, offrant ainsi une solution élégante aux limitations des types de données
simples.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 3 / 22
Les listes Création de listes

Définition
Une liste est une suite de valeurs présentées entre crochets et séparées par des
virgules. Elles peuvent contenir des types distincts de données.

Exemple :

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 4 / 22
Les listes Accès aux éléments d’une liste

Accès aux éléments d’une liste


Les éléments d’une liste sont indicés. Il est donc possible d’accéder à un
élément à partir de son indice.
Chaque élément dans une liste est associé à un indice, qui représente sa
position dans la liste.
Les indices des éléments commencent à partir de zéro, ce qui signifie que le
premier élément a l’indice 0, le deuxième a l’indice 1, et ainsi de suite.
Pour accéder à un élément spécifique dans une liste, on utilise la notation des
crochets suivie de l’indice de l’élément souhaité.
Par exemple, ma_liste[0] retournera le premier élément de ma_liste.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 5 / 22
Les listes Accès aux éléments d’une liste

Exemple :

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 6 / 22
Les listes Accès aux éléments d’une liste

Les indices négatifs


Utiliser des indices négatifs est une méthode pratique pour accéder aux
éléments d’une liste en commençant par la fin plutôt que par le début.
L’indice -1 correspond au dernier élément de la liste. Par exemple,
my_list[-1] retournera le dernier élément de la liste my_list.
De même, my_list[-2] retournera l’avant-dernier élément, et ainsi de suite.
Les indices négatifs facilitent l’accès aux éléments à partir de la fin de la liste
sans avoir à connaître sa longueur.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 7 / 22
Les listes Tranchage (Slicing)

Le tranchage (slicing)
Le tranchage (slicing) en Python est une technique permettant d’extraire des
sous-listes à partir d’une liste existante.
Il se fait en spécifiant une plage d’indices entre crochets, séparés par deux-points
( :), dans le format [début : fin : pas].
Le paramètre début indique l’indice de départ de la sélection (inclusif). Par
défaut, il commence depuis le début de la liste.
Le paramètre fin indique l’indice de fin de la sélection (exclusif). Par défaut,
il se termine à la fin de la liste.
Le paramètre pas (optionnel) indique l’incrément à utiliser lors de la sélection
des éléments. Par défaut, il est de 1.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 8 / 22
Les listes Tranchage (Slicing)

Syntaxes de tranchage en Python


nom_liste[a:b] : Sous-liste des éléments allant de l’indice a jusqu’à l’indice
b − 1.
nom_liste[a:] : Liste des éléments allant de l’indice a jusqu’à la fin de la
liste.
nom_liste[:b] : Liste des éléments du début jusqu’à l’indice b − 1.
nom_liste[a:b:p] : Éléments d’indices allant de a inclus à b exclus, avec
un pas de p (par défaut, p vaut 1).
nom_liste[::pas] : Éléments de la liste avec un pas de pas.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 9 / 22
Les listes Tranchage (Slicing)

Exemple :

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 10 / 22
Les listes Modifier une liste

Modifier la valeur d’une case


Pour modifier un élément dans une liste, il suffit d’utiliser l’indice de l’élément à
changer et de lui assigner une nouvelle valeur. Par exemple, liste[2] =
nouvelle_valeur modifie le troisième élément de la liste liste en remplaçant
sa valeur par nouvelle_valeur.

Exemple :

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 11 / 22
Les listes Modifier une liste

Modification d’une tranche dans une liste


On peut modifier une tranche d’une liste en utilisant la même syntaxe que pour
accéder à une tranche. Il suffit de spécifier la plage d’indices à modifier, puis
d’attribuer une nouvelle liste à cette tranche. Par exemple, liste[2:4] =
nouvelle_liste remplace la tranche spécifiée par nouvelle_liste. Cette
méthode permet de modifier rapidement des parties spécifiques d’une liste en
Python.

Exemple :

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 12 / 22
Les listes Créer une copie d’une liste

Dans le cas des listes, contrairement aux types de données simples, l’affectation
seule n’est pas suffisante pour créer une copie. Donc voici ce qui se passe,
lorsqu’on utilise une affectation simple

La liste L n’est pas une copie de T. En effet, les deux variables T et L désignent
toutes les deux la même liste.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 13 / 22
Les listes Créer une copie d’une liste

Lorsque l’on utilise une affectation simple, toute modification apportée à un


élément de "L" est également observée dans T

Donc pour créer une copie d’un liste unidimensionnelle, on utilise la méthode copy

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 14 / 22
Les listes Créer une copie d’une liste

Le code crée deux listes, L et T, initialement identiques. En modifiant le premier


élément de L, la liste T reste inchangée car L est une copie indépendante de T

Remarque
Dans le cas où la liste est multidimensionnelle, la méthode copy() ne suffit pas
pour créer une copie.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 15 / 22
Les listes Ajout et suppression d’éléments d’une liste

Ajout à une liste


Pour ajouter un ou plusieurs éléments dans une liste, on utilise les méthodes
suivantes :
liste.append(e) : ajoute un élément e à la fin de la liste ’liste’.
liste.insert(i,e) : insère l’élément e à l’emplacement i de la liste ’liste’
liste1.extend(liste2) : ajoute les éléments de la liste "liste2" à la fin de la
liste "liste1".
Exemple :

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 16 / 22
Les listes Ajout et suppression d’éléments d’une liste

Suppression dans une liste


Pour supprimer un élément de la liste, on utilise les méthodes suivantes :
liste.remove(e) : Retire de la liste ’liste’ le premier élément dont la valeur
est égale à e
liste.pop() :Supprime le dernier élément de la liste spécifiée et le renvoie
comme valeur de retour
liste.pop(i) : supprime l’élément de rang i dans la liste spécifiée et le renvoie
comme valeur de retour
Exemple :

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 17 / 22
Les listes Autres méthodes

Autres méthodes
len(liste) : renvoie la taille ou la longueur d’une liste, c’est-à-dire le nombre
total d’éléments présents dans la liste.
liste.index(x ) : Renvoie l’indice dans la liste du premier élément dont la
valeur est égale à x .
liste.count(x) : Renvoie le nombre d’occurrences de la valeur x dans la liste
considérée.
liste.sort() : Trie les éléments de la liste considérée.
liste.reverse() : Renverse l’ordre des éléments de la liste considérée.
min(liste) : Renvoie la plus petite valeur de la liste.
max(liste) : Renvoie la plus grande valeur de la liste.
sum(liste) : Calcule la somme de tous les éléments de la liste.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 18 / 22
Les listes Autres méthodes

Exemple :

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 19 / 22
Les listes Parcourir une liste

Parcourir une liste


Il existe deux méthodes couramment utilisées pour parcourir une liste :
Méthode 1 : À l’aide d’une boucle for : À chaque tour de boucle, la
variable d’itération sera associée à l’élément courant de la liste.

Méthode 2 : En utilisant les indices de la liste : Il est également possible


de parcourir les éléments d’une liste en utilisant leurs indices. Pour parcourir
l’ensemble des éléments, les indices varient de 0 (inclus) à la longueur de la
liste (non incluse).

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 20 / 22
Les listes Opération sur les listes

Opération sur les listes


Les listes supportent l’opérateur == pour la comparaison, l’opérateur + pour
faire la concaténation, et l’opérateur * pour faire la duplication.

Pour vérifier si une valeur existe dans une liste en Python, on utilise
l’opérateur ‘in‘.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 21 / 22
Les listes Exercice

Exercice
1 Écrire la fonction grands(L,x) qui reçoit en paramètres une liste de
nombres L, et un élément x de L. La fonction renvoie le nombre d’éléments
de L qui sont supérieurs strictement à x
2 Écrire une fonction union(l1, l2) qui prend deux listes d’entiers en entrée
et renvoie une liste contenant les éléments communs aux deux listes, sans
répétition.
3 Écrire une fonction difference(l1, l2) qui prend deux listes en entrée et
renvoie une liste contenant les éléments présents dans la première liste mais
absents de la deuxième liste.
4 Écrire une fonction liste_premiers(n) qui prend un entier positif en entrée
et renvoie une liste de tous les nombres premiers inférieurs ou égaux à cet
entier.
Par exemple liste_premiers(20) renvoie [2, 3, 5, 7, 11, 13, 17, 19]
5 Écrire une fonction diviseurs(n) qui prend en paramètre un entier n et qui
retourne une liste contenant tous les diviseurs de n.

Mustapha Lourika (CPGE Salmane Al Farissi - Salé / MPSI - 1TSI) Structures de données 2023 - 2024 22 / 22

Vous aimerez peut-être aussi