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

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
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
Aziz Darouichi
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
ABDESSELAM ARROU
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
IbtissameAbbad1
 
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
 
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
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
Abdelouahed Abdou
 
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é : 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
ECAM Brussels Engineering School
 
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
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
FadouaBouafifSamoud
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python Numpy
Haytam EL YOUSSFI
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
Abel LIFAEFI MBULA
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
Niji
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
LamissGhoul1
 
Systèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersSystèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiers
Lilia Sfaxi
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
Abdoulaye Dieng
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
Okanimegamers
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
ENSET, Université Hassan II Casablanca
 
UML+Python
UML+PythonUML+Python
UML+Python
Sylvain Leroux
 

Tendances (20)

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
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
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
 
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
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
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
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python Numpy
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Systèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersSystèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiers
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
UML+Python
UML+PythonUML+Python
UML+Python
 

Plus de Mariem ZAOUALI

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers
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 (18)

Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers
 
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