SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 1
Chapitre 2 : Les conteneurs en Python
• Les conteneurs à accès séquentiel
• Les conteneurs à accès direct
1. Les conteneurs à accès séquentiel
Nous allons traiter, dans cette manipulation, les types composés. Il s’agit des valeurs
formées de valeurs de types plus simples. En effet, Python permet de regrouper un
ensemble de données de même type ou de type différent à l’intérieur des structures
de données spéciales appelés conteneurs. Il existe deux catégories :
• Les conteneurs séquentiels : Nous découvrons aujourd’hui les listes, les tuples
et les chaînes de caractères. Les éléments de ces conteneurs sont rangés en
utilisant des index (commençant de 0)
• Les conteneurs à accès direct : seront traités dans la section suivante. Il s’agit
des conteneurs dont l’accès ne se fait pas d’une manière séquentielle. Le
conteneur n’est plus une structure ordonnée.
a. Définition des conteneurs et des opérations communes
Dans ce paragraphe, nous considérons que C est un conteneur qui peut être soit :
• Une liste : C’est une séquence d’éléments encadrés par des crochets []
• Une chaîne : C’est une séquence de caractères encadrés par des côtes ‘’ ou
double côtes
• Un tuple : Une séquence d’éléments encadrée par des parenthèses
Les opérations communes sur un conteneur séquentiel sont :
La commande L’exemple
Calcul de la taille du conteneur
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 2
Accès à un élément : C[index
de l’elt] : Les index sont compris
entre 0 et len(C)-1 pour
effectuer un parcours de
gauche à droite et entre -1 et –
len(C) pour un parcours de
droite à gauche
Accès à une partie des
éléments : C[i :j] renvoie un
conteneur constitué des
éléments se trouvant entre la
position i et la position j-1
• C[ :i] renvoie la sous liste
constituée des éléments
d’indices compris entre 0
et i-1
• C[i :] renvoie la sous liste
constituée des éléments
d’indices compris entre i
et len(C)-1
• C[ ::] renvoie la totalité
de la liste
• C[ ::-1] inverse la liste des
éléments
Accès à une partie des
éléments avec la notion de
pas : C[i :j :k] : renvoie un
conteneur stockant les
éléments entre deux position i
et j-1 en effectuant des sauts
d’amplitude k
Test d’appartenance
Test de non appartenance
Concaténation
Répétition : C*n : l’opérateur *
permet de créer un conteneur
contenant n copies de C
Recherche de la position d’un
élément : C.index(x)
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 3
Calcul du nombre
d’occurrence d’un élément :
C.count(x)
Maximum et minimum : min(C),
max(C)
Remarque
Le seul conteneur qui peut être modifié après sa création est la liste ! On les appelle
une structure des données modifiables ou mutables ou non immuables. Par contre,
les tuples et les chaînes sont non mutables ou immuables.
b. Les listes
La liste est une séquence de valeurs modifiable. Les éléments peuvent être de types
différents, simple ou composés.
La commande L’exemple
Création
• Une liste vide
• Via la
commande list
• Avec les []
• Liste en
compréhensio
n : La syntaxe
est la
suivante :
[expression for
indice in
conteneur if
condition]
• Par conversion
Modification
• D’un élément
• D’un slice
Ajout
• D’un élément
à la fin : on
utilise la
commande
append
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 4
• D’un slice :
avec la
commande
extend
• Insertion :
avec la
commande
insert
Suppression
• D’un elt :
del,remove,
pop
• D’un slice
Copie
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 5
Copie profonde
Tri
Inversion
c. Les tuples
La commande L’exemple
Création
• Tuple vide
• Création
directe avec ()
• Avec la
commande
tuple
• Par conversion
• En
compréhensio
n
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 6
Modification : Les
tuples sont non
modifiables ! Ceci
génère une erreur
Ajout d’un élément
d. Les chaînes
La commande L’exemple
Test de la nature de la
chaîne
• Alphabétique
• Numérique
• Vide
• Alphanumérique
Conversion
majuscule/miniscule
Commence avec/se
termine avec
Eliminer les espaces à
gauche et à droite
Décomposition
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 7
Coller plusieurs chaînes
Recherche d’une sous
chaîne dans une autre
chaîne
Remplacer une sous
chaîne par une autre
Affichage formaté
2. Les conteneurs à accès direct
a. Les dictionnaires
Un dictionnaire est un conteneur modifiable non ordonnée composé d’un ensemble
de couples « index : valeur ». Les index sont aussi appelés des clés et les valeurs sont
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 8
appelées des entrées. On présente, dans ce tableau, les différentes opérations
possibles :
La commande L’exemple
Création
• Dictionnaire
vide
• Avec la
commande dict
• Les {}
• En
compréhension
• Directement
Taille
Appartenance
Accès aux
informations stockées
au niveau d’un
dictionnaire
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 9
Accès à une entrée
Affecter à un index
non encore utilisé une
valeur par défaut
Ajouter une entrée
Récupérer la valeur
d’une clé existante
La mise à jour d’un
dictionnaire passe par
l’ajout, la modification
et suppression
d’entrées
Mise à jour à partir
d’un dictionnaire
Supprimer une entrée
Effacer le contenu d’un
dictionnaire
Copie d’un
dictionnaire dans un
autre après avoir
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 10
importé le module
copy
b. Les ensembles
Les ensembles Python modélisent les ensembles mathématiques. C’est une
collection d’objets non ordonnées sans redondance de même types ou de types
différents. Les éléments d’un ensemble ne doivent jamais être des listes, des
dictionnaires ou d’autres ensembles.
La commande L’exemple
Création
• Ensemble vide
• La commande
set
• Les {}
• En
compréhension
Test d’appartenance
Ajout
Suppression
• Remove
• Discard : sans
erreur si l’elt
n’existe pas
• Pop
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 11
Les opérations
ensemblistes
• Deux
ensembles
identiques ou
différents
• Deux
ensembles
disjoints(aucun
elt en commun)
• Un ensemble
sous un
ensemble
• Un ensemble
contient un
autre ensemble
• L’union
• L’intersection
• La différence
• La différence
symétrique
[LES CONTENEURS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 12
Les opérations de
réunion, intersection,
différence et
différence symétrique
se présentent sous une
2ème forme de sorte
qu’on met à jour
l’ensemble en
question

Contenu connexe

Tendances

Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numériqueMariem ZAOUALI
 
Cours python
Cours pythonCours python
Cours pythonsalmazen
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python NumpyHaytam EL YOUSSFI
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à pythonMariem ZAOUALI
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en pythonMariem ZAOUALI
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menusLilia Sfaxi
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfRedaBelattar
 

Tendances (20)

Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
UML+Python
UML+PythonUML+Python
UML+Python
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
 
Cours python
Cours pythonCours python
Cours python
 
Formation python
Formation pythonFormation python
Formation python
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python Numpy
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à python
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menus
 
Cours c++
Cours c++Cours c++
Cours c++
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
 

Plus de Mariem ZAOUALI

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Mariem ZAOUALI
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 
Tp1 design patternappliques
Tp1 design patternappliquesTp1 design patternappliques
Tp1 design patternappliquesMariem ZAOUALI
 
Cours 4 intergiciels orientes messages jms
Cours 4 intergiciels orientes messages  jmsCours 4 intergiciels orientes messages  jms
Cours 4 intergiciels orientes messages jmsMariem ZAOUALI
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures repartiesMariem ZAOUALI
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaMariem ZAOUALI
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de baseMariem ZAOUALI
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabMariem ZAOUALI
 
Comment retrouver la forme récursive
Comment retrouver la forme récursiveComment retrouver la forme récursive
Comment retrouver la forme récursiveMariem ZAOUALI
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieMariem ZAOUALI
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieMariem ZAOUALI
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieMariem ZAOUALI
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieMariem ZAOUALI
 
TP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieTP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieMariem ZAOUALI
 
Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Mariem ZAOUALI
 

Plus de Mariem ZAOUALI (16)

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
Tp1 design patternappliques
Tp1 design patternappliquesTp1 design patternappliques
Tp1 design patternappliques
 
TP2 RMI
TP2 RMITP2 RMI
TP2 RMI
 
Cours 4 intergiciels orientes messages jms
Cours 4 intergiciels orientes messages  jmsCours 4 intergiciels orientes messages  jms
Cours 4 intergiciels orientes messages jms
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corba
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de base
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec Matlab
 
Comment retrouver la forme récursive
Comment retrouver la forme récursiveComment retrouver la forme récursive
Comment retrouver la forme récursive
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / Tunisie
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / Tunisie
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / Tunisie
 
TP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieTP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / Tunisie
 
Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia
 

Dernier

Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 

Dernier (15)

Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 

Chap2 Les conteneurs en python

  • 1. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 1 Chapitre 2 : Les conteneurs en Python • Les conteneurs à accès séquentiel • Les conteneurs à accès direct 1. Les conteneurs à accès séquentiel Nous allons traiter, dans cette manipulation, les types composés. Il s’agit des valeurs formées de valeurs de types plus simples. En effet, Python permet de regrouper un ensemble de données de même type ou de type différent à l’intérieur des structures de données spéciales appelés conteneurs. Il existe deux catégories : • Les conteneurs séquentiels : Nous découvrons aujourd’hui les listes, les tuples et les chaînes de caractères. Les éléments de ces conteneurs sont rangés en utilisant des index (commençant de 0) • Les conteneurs à accès direct : seront traités dans la section suivante. Il s’agit des conteneurs dont l’accès ne se fait pas d’une manière séquentielle. Le conteneur n’est plus une structure ordonnée. a. Définition des conteneurs et des opérations communes Dans ce paragraphe, nous considérons que C est un conteneur qui peut être soit : • Une liste : C’est une séquence d’éléments encadrés par des crochets [] • Une chaîne : C’est une séquence de caractères encadrés par des côtes ‘’ ou double côtes • Un tuple : Une séquence d’éléments encadrée par des parenthèses Les opérations communes sur un conteneur séquentiel sont : La commande L’exemple Calcul de la taille du conteneur
  • 2. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 2 Accès à un élément : C[index de l’elt] : Les index sont compris entre 0 et len(C)-1 pour effectuer un parcours de gauche à droite et entre -1 et – len(C) pour un parcours de droite à gauche Accès à une partie des éléments : C[i :j] renvoie un conteneur constitué des éléments se trouvant entre la position i et la position j-1 • C[ :i] renvoie la sous liste constituée des éléments d’indices compris entre 0 et i-1 • C[i :] renvoie la sous liste constituée des éléments d’indices compris entre i et len(C)-1 • C[ ::] renvoie la totalité de la liste • C[ ::-1] inverse la liste des éléments Accès à une partie des éléments avec la notion de pas : C[i :j :k] : renvoie un conteneur stockant les éléments entre deux position i et j-1 en effectuant des sauts d’amplitude k Test d’appartenance Test de non appartenance Concaténation Répétition : C*n : l’opérateur * permet de créer un conteneur contenant n copies de C Recherche de la position d’un élément : C.index(x)
  • 3. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 3 Calcul du nombre d’occurrence d’un élément : C.count(x) Maximum et minimum : min(C), max(C) Remarque Le seul conteneur qui peut être modifié après sa création est la liste ! On les appelle une structure des données modifiables ou mutables ou non immuables. Par contre, les tuples et les chaînes sont non mutables ou immuables. b. Les listes La liste est une séquence de valeurs modifiable. Les éléments peuvent être de types différents, simple ou composés. La commande L’exemple Création • Une liste vide • Via la commande list • Avec les [] • Liste en compréhensio n : La syntaxe est la suivante : [expression for indice in conteneur if condition] • Par conversion Modification • D’un élément • D’un slice Ajout • D’un élément à la fin : on utilise la commande append
  • 4. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 4 • D’un slice : avec la commande extend • Insertion : avec la commande insert Suppression • D’un elt : del,remove, pop • D’un slice Copie
  • 5. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 5 Copie profonde Tri Inversion c. Les tuples La commande L’exemple Création • Tuple vide • Création directe avec () • Avec la commande tuple • Par conversion • En compréhensio n
  • 6. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 6 Modification : Les tuples sont non modifiables ! Ceci génère une erreur Ajout d’un élément d. Les chaînes La commande L’exemple Test de la nature de la chaîne • Alphabétique • Numérique • Vide • Alphanumérique Conversion majuscule/miniscule Commence avec/se termine avec Eliminer les espaces à gauche et à droite Décomposition
  • 7. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 7 Coller plusieurs chaînes Recherche d’une sous chaîne dans une autre chaîne Remplacer une sous chaîne par une autre Affichage formaté 2. Les conteneurs à accès direct a. Les dictionnaires Un dictionnaire est un conteneur modifiable non ordonnée composé d’un ensemble de couples « index : valeur ». Les index sont aussi appelés des clés et les valeurs sont
  • 8. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 8 appelées des entrées. On présente, dans ce tableau, les différentes opérations possibles : La commande L’exemple Création • Dictionnaire vide • Avec la commande dict • Les {} • En compréhension • Directement Taille Appartenance Accès aux informations stockées au niveau d’un dictionnaire
  • 9. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 9 Accès à une entrée Affecter à un index non encore utilisé une valeur par défaut Ajouter une entrée Récupérer la valeur d’une clé existante La mise à jour d’un dictionnaire passe par l’ajout, la modification et suppression d’entrées Mise à jour à partir d’un dictionnaire Supprimer une entrée Effacer le contenu d’un dictionnaire Copie d’un dictionnaire dans un autre après avoir
  • 10. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 10 importé le module copy b. Les ensembles Les ensembles Python modélisent les ensembles mathématiques. C’est une collection d’objets non ordonnées sans redondance de même types ou de types différents. Les éléments d’un ensemble ne doivent jamais être des listes, des dictionnaires ou d’autres ensembles. La commande L’exemple Création • Ensemble vide • La commande set • Les {} • En compréhension Test d’appartenance Ajout Suppression • Remove • Discard : sans erreur si l’elt n’existe pas • Pop
  • 11. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 11 Les opérations ensemblistes • Deux ensembles identiques ou différents • Deux ensembles disjoints(aucun elt en commun) • Un ensemble sous un ensemble • Un ensemble contient un autre ensemble • L’union • L’intersection • La différence • La différence symétrique
  • 12. [LES CONTENEURS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 2 : Les conteneurs en Python 12 Les opérations de réunion, intersection, différence et différence symétrique se présentent sous une 2ème forme de sorte qu’on met à jour l’ensemble en question