SlideShare a Scribd company logo
1 of 37
Download to read offline
Cours
Les structures de données
Les Listes -list-
Professeur: ARROU ABDESSELAM
LYCÉE LISSANE EDDINE IBN AL-KHATIB
CENTRE CPGE –LAAYOUNE-
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 :
Définition 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 .
Accès aux éléments d'une liste
Ch[i:j]
Extraire la sous-liste de l’élément i (inclus) à l’élément j (exclu) pas par défaut
é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
Technique de Slicing ou Découpage en tranches :
Exemple :
Accès aux éléments d'une liste
Les opérations à appliquer à une liste :
Les opérations sur les listes
+ 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
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.
Les opérations sur les listes
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:
Parcours de liste
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 fonctions 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 sur les listes
Les méthodes d'une liste
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.
Exercices
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
Techniques de Slicing pour modifier une liste
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:
Une liste en mode compréhension
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 :
Copie d'une liste
Travaux dirigés

More Related Content

What's hot

La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Mansouri Khalifa
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en pythonMariem ZAOUALI
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonMariem ZAOUALI
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionECAM Brussels Engineering School
 
Cours python
Cours pythonCours python
Cours pythonsalmazen
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheRiadh Harizi
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
Cours Algorithme: Tableau
Cours Algorithme: TableauCours Algorithme: Tableau
Cours Algorithme: TableauInforMatica34
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI Mansouri Khalifa
 

What's hot (20)

La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en python
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en python
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
 
Cours python
Cours pythonCours python
Cours python
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Cours Algorithme: Tableau
Cours Algorithme: TableauCours Algorithme: Tableau
Cours Algorithme: Tableau
 
Structures donnee
Structures donneeStructures donnee
Structures donnee
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
 

Similar to Les listes en Python

5- understandinggJava_Collections_v4.pdf
5- understandinggJava_Collections_v4.pdf5- understandinggJava_Collections_v4.pdf
5- understandinggJava_Collections_v4.pdfAliouDiallo24
 
Chapitre 2 : Les Listes chainées en Algo et C
Chapitre 2 : Les Listes chainées en Algo et CChapitre 2 : Les Listes chainées en Algo et C
Chapitre 2 : Les Listes chainées en Algo et CSana REFAI
 
cours TRI selection insertion bublle sort
cours TRI selection insertion bublle sortcours TRI selection insertion bublle sort
cours TRI selection insertion bublle sortYounesOuladSayad1
 
Cours_Listes .pdf
Cours_Listes .pdfCours_Listes .pdf
Cours_Listes .pdfDOUA9
 
Structure des données complexes . pptx .
Structure des données complexes . pptx .Structure des données complexes . pptx .
Structure des données complexes . pptx .MeriemKeddad
 
Theme 9(bis)
Theme 9(bis)Theme 9(bis)
Theme 9(bis)salmazen
 
09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chaineeHamza SAID
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesSana Aroussi
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de ClasseabdoMarocco
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Bases de php - Partie 4
Bases de php - Partie 4Bases de php - Partie 4
Bases de php - Partie 4Régis Lutter
 
Chap2: lescollections
Chap2: lescollections Chap2: lescollections
Chap2: lescollections Sana REFAI
 
Devtalk01@snv: list comprehension
Devtalk01@snv: list comprehensionDevtalk01@snv: list comprehension
Devtalk01@snv: list comprehensionBirame Sene
 
Cours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfCours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfABDESSELAM ARROU
 
Programmation en VBA Introduction au language Visual Basic for Applications ...
Programmation en VBA  Introduction au language Visual Basic for Applications ...Programmation en VBA  Introduction au language Visual Basic for Applications ...
Programmation en VBA Introduction au language Visual Basic for Applications ...Bassim ELKHATTABY
 
10 chapitre 4 listes et récursivité
10 chapitre 4 listes et récursivité10 chapitre 4 listes et récursivité
10 chapitre 4 listes et récursivitéSiham Rim Boudaoud
 

Similar to Les listes en Python (20)

5- understandinggJava_Collections_v4.pdf
5- understandinggJava_Collections_v4.pdf5- understandinggJava_Collections_v4.pdf
5- understandinggJava_Collections_v4.pdf
 
Theme 9
Theme 9Theme 9
Theme 9
 
Java collection
Java collection Java collection
Java collection
 
Structures donneenew
Structures donneenewStructures donneenew
Structures donneenew
 
Chapitre 2 : Les Listes chainées en Algo et C
Chapitre 2 : Les Listes chainées en Algo et CChapitre 2 : Les Listes chainées en Algo et C
Chapitre 2 : Les Listes chainées en Algo et C
 
cours TRI selection insertion bublle sort
cours TRI selection insertion bublle sortcours TRI selection insertion bublle sort
cours TRI selection insertion bublle sort
 
Cours_Listes .pdf
Cours_Listes .pdfCours_Listes .pdf
Cours_Listes .pdf
 
Structure des données complexes . pptx .
Structure des données complexes . pptx .Structure des données complexes . pptx .
Structure des données complexes . pptx .
 
Theme 9(bis)
Theme 9(bis)Theme 9(bis)
Theme 9(bis)
 
09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee
 
Python chapitre 2.pdf
Python chapitre 2.pdfPython chapitre 2.pdf
Python chapitre 2.pdf
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de Classe
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Bases de php - Partie 4
Bases de php - Partie 4Bases de php - Partie 4
Bases de php - Partie 4
 
Chap2: lescollections
Chap2: lescollections Chap2: lescollections
Chap2: lescollections
 
Devtalk01@snv: list comprehension
Devtalk01@snv: list comprehensionDevtalk01@snv: list comprehension
Devtalk01@snv: list comprehension
 
Cours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfCours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdf
 
Programmation en VBA Introduction au language Visual Basic for Applications ...
Programmation en VBA  Introduction au language Visual Basic for Applications ...Programmation en VBA  Introduction au language Visual Basic for Applications ...
Programmation en VBA Introduction au language Visual Basic for Applications ...
 
10 chapitre 4 listes et récursivité
10 chapitre 4 listes et récursivité10 chapitre 4 listes et récursivité
10 chapitre 4 listes et récursivité
 

Recently uploaded

Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 

Recently uploaded (13)

Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 

Les listes en Python

  • 1. Cours Les structures de données Les Listes -list- Professeur: ARROU ABDESSELAM LYCÉE LISSANE EDDINE IBN AL-KHATIB CENTRE CPGE –LAAYOUNE-
  • 2. 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
  • 3. 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
  • 4. Création d'une liste : Autres méthode de création d'une liste : Exemple : Définition d'une liste
  • 5. 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
  • 6. Exemple : Accès aux éléments d'une liste
  • 7. 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
  • 8. Technique de Slicing ou Découpage en tranches : Syntaxe : soit ch est une liste . Accès aux éléments d'une liste Ch[i:j] Extraire la sous-liste de l’élément i (inclus) à l’élément j (exclu) pas par défaut é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
  • 9. Technique de Slicing ou Découpage en tranches : Exemple : Accès aux éléments d'une liste
  • 10. Les opérations à appliquer à une liste : Les opérations sur les listes + 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
  • 11. 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
  • 12. 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
  • 13. 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. Les opérations sur les listes
  • 14. 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
  • 17. 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
  • 18. Exemple : Les fonctions sur les listes
  • 19. 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
  • 20. 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 sur les listes
  • 22. 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. Exercices
  • 23. 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
  • 24. Modification d'un élément ou d'une sous-liste : Techniques de Slicing pour modifier une liste
  • 25. Insertion d'un un élément ou d'une sous-liste Techniques de Slicing pour modifier une liste
  • 26. Suppression d'un un élément ou d'une sous-liste Techniques de Slicing pour modifier une liste
  • 27. 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
  • 28. Exemple liste en compréhension sans condition: Exemple liste en compréhension avec condition: Une liste en mode compréhension
  • 29. Quel est ce résultat du script suivant ? Copie d'une liste
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. Copie profond par le module copy : Exemple : Copie d'une liste