0% ont trouvé ce document utile (0 vote)
202 vues37 pages

Coursleslistesenpython

Ce document décrit les listes en Python. Il définit une liste, explique comment accéder aux éléments d'une liste et effectuer des opérations sur les listes. Le document présente également des méthodes pour parcourir, trier et modifier les listes.

Transféré par

Ouled Ouledelhaj
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
202 vues37 pages

Coursleslistesenpython

Ce document décrit les listes en Python. Il définit une liste, explique comment accéder aux éléments d'une liste et effectuer des opérations sur les listes. Le document présente également des méthodes pour parcourir, trier et modifier les listes.

Transféré par

Ouled Ouledelhaj
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

LYCÉE LISSANE EDDINE IBN AL-KHATIB

CENTRE CPGE –LAAYOUNE-

Cours
Les structures de données
Les Listes -list-

Professeur: ARROU ABDESSELAM


Définition d'une liste
De façon plus générale, les listes permettent de stocker et
classer un grand nombre de données.
En python une liste(tableau dynamique) :
 Permet de manipuler une séquence d'objets modifiable.

 Contient un nombre non fixé d’éléments, de manière ordonnée.

 Peut contenir des éléments de type différents(hétérogènes).S


Définition d'une liste
Création d'une liste :
En Python, on déclare/défini/crée une liste avec les crochets [],
les éléments sont séparés par une virgule , .
Exemple :
Définition d'une liste
Création d'une liste :
Autres méthode de création d'une liste :
Exemple :
Accès aux éléments d'une liste
Pour accéder aux éléments d'une liste, on utilise les mêmes
méthodes (index ou indice, découpage en tranches ou
Slicing [d : f : pas) que pour accéder aux caractères d'une chaîne.
Les indices peuvent être positive ou négative.
Syntaxe :
nom_liste[indice].
Accès aux éléments d'une liste
Exemple :
Accès aux éléments d'une liste
Technique de Slicing ou Découpage en tranches :
Le Slicing : est un raccourcis syntaxiques qui permettent le
découpage en tranches d’une liste.
On peut accéder à plus qu’un élément avec l’operateur de
sélection [Début : Fin: Pas] (tranche d’indices) .
Accès aux éléments d'une liste
Technique de Slicing ou Découpage en tranches :
Syntaxe :
soit ch est une liste .
Extraire la sous-liste de l’élément i (inclus) à l’élément j (exclu) pas par défaut
Ch[i:j]
égal 1

Ch[i:j:k] Extraire la sous-liste de l’élément i (inclus) à l’élément j (exclu) pas égal k

Ch[i:] Extraire la sous-liste depuis l’élément i (inclus) jusqu'à la fin de la liste.

Ch[:j] Extraire la sous-liste de début indice 0 jusqu'à l'indice j (exclu).

Ch[:] Extraire la sous-liste de début jusqu'à la fin de la liste


Accès aux éléments d'une liste
Technique de Slicing ou Découpage en tranches :
Exemple :
Les opérations sur les listes
Les opérations à appliquer à une liste :

+ La concaténation de deux listes

* La duplication d'une liste (Répétition)

in ou not in Test d'appartenance renvoie True ou False


Les opérations sur les listes
La concaténation :
On peut concaténer deux listes avec l’operateur + (comme
pour les chaines de caractères).
Exemple :
Les opérations sur les listes
La duplication :
On peut dupliquer(multiplier)une listes avec l’operateur *
(nom_liste * n) où n est un entier.
Exemple :
Les opérations sur les listes
Test d'appartenance:
Nous pouvons facilement déterminer si un élément appartient à une liste à
l’aide de l’opérateur in .
Exemple :

NB: Il est également possible d’utiliser l’opérateur "not in" pour vérifier la non
appartenance d’un élément à une liste.
Parcours de liste
Le parcours d’une liste c’est l’accès séquentiel à ses éléments
de début jusqu'à fin de la liste.
Les fonctions range(), len() et la boucle for permettent le
parcours d’une liste d’une manière relativement simple.
Parcours de liste
Exemple 1:
Parcours de liste
Exemple 2:
Les fonctions sur les listes
La fonction len() :
On utilise la fonction len() pour obtenir le nombre d'élements d'une liste.
La fonction min() :
On utilise la fonction min() pour obtenir le minimum d'une liste.
La fonction max() :
On utilise la fonction max() pour obtenir le maximum d'une liste.
La fonction sorted() :
On utilise la fonction max() pour obtenir une liste triée.
La fonction del() :
On utilise la fonction del() pour supprimer une liste.
Les fonctions sur les listes
Exemple :
Les méthodes sur les listes
Sous Python, les listes sont des objets, et nous pouvons donc
leur appliquer un certain nombre de méthodes dont les plus
importantes sont : sort, append, reverse, index, remove.etc…
Syntaxe :
Objet.methode(paramètres)
Les méthodes sur les listes
La fonction append() :
Permet d’ajouter un élément à la fin de la liste
La fonction insert() :
Permet d’ajouter un élément dans une position donnée
La fonction reverse() :
Permet d’inverser l'ordre des éléments d’une liste.
La fonction index() :
Permet de retrouver l’index d’un élément dans la liste
La fonction remove() :
Permet de supprimer un élément d’une liste
La fonction clear() :
Permet de vider une liste
Les méthodes d'une liste
Exercices
1-Ecrire une fonction moyenne(liste_note) qui calcule la moyenne des éléments d'une liste
de notes passée en paramètre.
2-Ecrire une fonction liste_diviseur(N) renvoyant la liste des diviseurs d’un entier positif N.
3-Écrire une fonction chcercher(liste,val) qui prend en paramètres une liste et une valeur
puis retourne une valeur booléenne(True/False) si la valeur val existe dans une liste.
4-Ecrire une fonction note_eleve(liste_note)qui prend en paramètre une liste, puis affiche
le nombre de notes entrées, la note la plus élevée, la note la plus basse, et la moyenne de la
liste.
5-Définir une fonction insertMilieu(valeur,liste) qui prend en paramètre une valeur et une
liste et qui insère la valeur au milieu de la liste puis retourne la liste.
Techniques de Slicing pour modifier une liste
On peut utiliser le "découpage en tranches" ou Slicing pour
modifier, ajouter ou supprimer des éléments dans une liste à
l'aide du seul opérateur [début : fin : pas ].
Techniques de Slicing pour modifier une liste
Modification d'un élément ou d'une sous-liste :
Techniques de Slicing pour modifier une liste
Insertion d'un un élément ou d'une sous-liste
Techniques de Slicing pour modifier une liste
Suppression d'un un élément ou d'une sous-liste
Une liste en mode compréhension
On peut définir une liste en décrivant la séquence contenue
dans la liste. CÀD générer des listes d’une manière très concise,
sans avoir à utiliser la structure répétitive pour remplir une
structure de données (Liste, Dictionnaire, Tuple, …) .
Syntaxe sans condition:
liste=[expression for x in Liste]
Syntaxe avec condition:
liste=[expression for x in Liste if condition]
Une liste en mode compréhension
Exemple liste en compréhension sans condition:

Exemple liste en compréhension avec condition:


Copie d'une liste
Quel est ce résultat du script suivant ?
Copie d'une liste
Les types de copie d'un objet :
Copie simple par l'instruction d'affectation.

Copie par l'opérateur de Slicing [].

Copie profond(deepcopy) par le module copy.


Copie d'une liste
Copie par l'instruction d'affectation.
L'affectation de la forme listeB=listeA, ne crée pas une copie de la liste1,
mais les deux listes listeA et listeB pointe vers la même adresse(référence).
NB: la modification ultérieure des éléments de l’une des deux listes affectera
aussi l’autre.
Exemple :
Copie d'une liste
Copie par l'opérateur de Slicing [ ]:
Si l’on souhaite effectuer une copie(physique) d’une liste listeA qu’on puisse
modifier sans affecter listeB, il faut effectuer une affectation de la forme
suivante :
listeB=listeB[:] ou listeB=list(listeA) ou listeB=[i for i in listeA]
Exemple :
Copie d'une liste
Copie par l'opérateur de Slicing [ ]:
Remarque :
l'opérateur de Slicing [:] permet juste de dupliquer les éléments du 1er
niveau de la liste.
Schéma :
Copie d'une liste
Copie par l'opérateur de Slicing [ ]:
Remarque :
l'opérateur de Slicing [:] permet juste de dupliquer les éléments du 1er
niveau de la liste.
Exemple :
Copie d'une liste
Copie profond par le module copy :
Pour résoudre le problème de Slicing on va faire une copie complète avec la
méthode deepcopy du module copy.
Schéma :
Copie d'une liste
Copie profond par le module copy :
Exemple :
Travaux dirigés

Vous aimerez peut-être aussi