SlideShare une entreprise Scribd logo
[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

Formation python
Formation pythonFormation python
Formation python
j_lipaz
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
Shellmates
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
ABDESSELAM ARROU
 
Cours langage c
Cours langage cCours langage c
Cours langage c
coursuniv
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
Yassine Badri
 
QCM basique sur les réseaux informatiques
QCM basique sur les réseaux informatiquesQCM basique sur les réseaux informatiques
QCM basique sur les réseaux informatiques
Frust Rados
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
ECAM Brussels Engineering School
 
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
ECAM Brussels Engineering School
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
Python avancé : Tuple et objet
Python avancé : Tuple et objetPython avancé : Tuple et objet
Python avancé : Tuple et objet
ECAM Brussels Engineering School
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
Haytam EL YOUSSFI
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
ECAM Brussels Engineering School
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
Amir Souissi
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Mohamed Amine Mahmoudi
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
ENSET, Université Hassan II Casablanca
 
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
ECAM Brussels Engineering School
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
Amir Souissi
 
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
Houda TOUKABRI
 
cycle de vie
cycle de vie cycle de vie
cycle de vie
Shili Mohamed
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi
 

Tendances (20)

Formation python
Formation pythonFormation python
Formation python
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
QCM basique sur les réseaux informatiques
QCM basique sur les réseaux informatiquesQCM basique sur les réseaux informatiques
QCM basique sur les réseaux informatiques
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
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
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Python avancé : Tuple et objet
Python avancé : Tuple et objetPython avancé : Tuple et objet
Python avancé : Tuple et objet
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
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
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
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
 
cycle de vie
cycle de vie cycle de vie
cycle de vie
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 

Similaire à Chap2 Les conteneurs en python

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
Mariem ZAOUALI
 
Cours_Java.pdf
Cours_Java.pdfCours_Java.pdf
Cours_Java.pdf
MohamedCheikhAhmed
 
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
Amir Souissi
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
Abdoulaye Dieng
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
Yassine Badri
 
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptxfdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
TarikElMahtouchi1
 

Similaire à Chap2 Les conteneurs en python (7)

Python chapitre 2.pdf
Python chapitre 2.pdfPython chapitre 2.pdf
Python chapitre 2.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
 
Cours_Java.pdf
Cours_Java.pdfCours_Java.pdf
Cours_Java.pdf
 
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
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
 
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptxfdocuments.fr_chap-03-poo-en-java-partie1.pptx
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
 

Plus de Mariem ZAOUALI

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers
Mariem ZAOUALI
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
Mariem ZAOUALI
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
Mariem ZAOUALI
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
Mariem ZAOUALI
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à python
Mariem ZAOUALI
 
Tp1 design patternappliques
Tp1 design patternappliquesTp1 design patternappliques
Tp1 design patternappliques
Mariem ZAOUALI
 
TP2 RMI
TP2 RMITP2 RMI
Cours 4 intergiciels orientes messages jms
Cours 4 intergiciels orientes messages  jmsCours 4 intergiciels orientes messages  jms
Cours 4 intergiciels orientes messages jms
Mariem ZAOUALI
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
Mariem 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 corba
Mariem ZAOUALI
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de base
Mariem 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 Matlab
Mariem ZAOUALI
 
Comment retrouver la forme récursive
Comment retrouver la forme récursiveComment retrouver la forme récursive
Comment retrouver la forme récursive
Mariem 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 / Tunisie
Mariem ZAOUALI
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / Tunisie
Mariem ZAOUALI
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / Tunisie
Mariem ZAOUALI
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / Tunisie
Mariem ZAOUALI
 
TP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieTP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / Tunisie
Mariem 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 (19)

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à 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
 

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