Vous êtes sur la page 1sur 8

Chapitre 5: Les conteneurs à accès direct

(Dictionnaires & Ensembles)


E
I- Introduction
Dans le chapitre précédent, on a traité les conteneurs séquentiels de Python. Pour accéder à un
élément d’un conteneur, on utilise son index. Les valeurs autorisées des index sont
obligatoirement séquentielles. Python permet d’utiliser une autre catégorie de conteneurs
maniant des index organisés d’une manière non séquentielle. Le conteneur n’est plus une
structure ordonnée, il s’agit bien d’un conteneur à accès direct.

II- Les dictionnaires


Un dictionnaire est un conteneur modifiable non ordonné composé d’un ensemble de couples
index : valeur. Les index sont aussi appelés des clés et les valeurs des entrées. La création
d’un dictionnaire peut se faire de plusieurs manières :

• Dictionnaire vide :

• La commande dict (avec comme paramètre une liste de listes, chacun de la forme
[clé ,valeur]) :

• Les {} :

1
• En compréhension

• Directement (en utilisant la syntaxe NomDict[cle]=valeur) :

La taille d’un dictionnaire qui est le nombre d’entrées qu’il contient est accessible via la
commande len,, pour afficher une valeur correspondante à une clé, on utilise la syntaxe
NomDict[clé],, les deux opérateurs in et not in testent l’appartenance d’une clé à un
dictionnaire :

2
Python permet d’accéder aux informations stockées au niveau d’un dictionnaire de plusieurs
manières :

Une entrée peut être accédée par la commande get :

Par contre, la commande setdefault permet de :

• créer une entrée vide si on fournit un index non encore utilisé et pas de valeur en
deuxième paramètre :

• Ajouter une entrée :

3
La mise à jour d’un dictionnaire passe par l’ajout, la modification et la suppression d’entrées :

Python offre un ensemble de commande de mise à jour pour les dictionnaires :

• update : La syntaxe est d1.update(d2) : Fusionne deux dictionnaires. Si la clé figure


dans les deux dictionnaires alors la valeur de l’entrée correspondante dans d1 sera
mise à jour, sinon, une nouvelle entrée est créée dans d1 :

• pop : la syntaxe est NomDict.pop(index) : supprime l’entrée dont la clé est index et la
retourne en résultat ; popitem : la syntaxe est NomDict.popitem() : supprime
aléatoirement une entrée et la retourne :

• clear : La syntaxe est NomDict.clear() : efface le contenu d’un dictionnaire

4
• copy : La syntaxe est d2=d1.copy() : copie un dictionnaire dans un autre après avoir
importer le module copy.

III- 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.
Un ensemble peut être créé de plusieurs manières :

• ensemble vide :

• la commande set :

• les {}

• en compréhension

Un ensemble est une structure de données non ordonnée. La commande len donne la
cardinalité de l’ensemble. On peut tester l’appartenance d’un élément à un ensemble mais on
ne peut pas utiliser un indice :

5
La mise à jour d’un ensemble est possible vue que
que c’est un type mutable :

• ajout d’un élément

• Suppression d’un élément :


remove : La syntaxe est s.remove(elt) : supprime un élément existant et déclenche une
exception dans le cas échéant :

discard : La syntaxe est s.discard(elt) : supprime un élément s’il existe et ne déclenche


pas d’erreurs si elt ne fait pas partie
part de s :

pop : Le syntaxe est s.pop() : supprime un élément aléatoire de s et déclenche une


exception si l’ensemble est vide :

6
Toutes les opérations ensemblistes sont possibles
poss en Python, on peut tester si :

• deux ensembles sont identiques ou différents : Les opérateurs de comparaisons ==


et != :

• deux ensembles sont disjoints (aucun élément en commun) :

• un ensemble est un sous ensemble d’un autre

• un ensemble contient un autre ensemble

• L’union

• L’intersection

• La différence

7
• La différence symétrique

Les opérations de réunion, intersection, différence et différence symétrique se présentent sous


une 2ème forme en python qui autorise une sorte de mise à jour de l’ensemble en question :

Vous aimerez peut-être aussi