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