0% ont trouvé ce document utile (0 vote)
58 vues52 pages

Structures de données en Python

Ce document présente un cours de programmation avancée en Python, axé sur les structures de données telles que les listes, tuples, sets, et dictionnaires. Il explique les concepts de mutabilité et d'immuabilité des objets, ainsi que les opérations et méthodes associées aux listes. Des exemples pratiques illustrent la création, l'accès, la modification et l'utilisation de ces structures de données en Python.

Transféré par

Ala Islem
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
58 vues52 pages

Structures de données en Python

Ce document présente un cours de programmation avancée en Python, axé sur les structures de données telles que les listes, tuples, sets, et dictionnaires. Il explique les concepts de mutabilité et d'immuabilité des objets, ainsi que les opérations et méthodes associées aux listes. Des exemples pratiques illustrent la création, l'accès, la modification et l'utilisation de ces structures de données en Python.

Transféré par

Ala Islem
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Institut Supérieur d’Informatique de Mahdia

Programmation Avancée en Python

Mme. Amal Gassara

Auditoire: LCS2-GLSI

Nombre d’heures: 10.5 (cours) et 21(TP)

Année universitaire: 2024/2025


Chapitre 1:
Les structures de données
Introduction

 Les collections en Python

 List: collection ordonnée (selon l’ordre d’insertion) acceptant des valeurs


dupliquées et de types différents

 Tuple : collection ordonnée (selon l’ordre d’insertion) acceptant des


valeurs dupliquées et de types différents

 Set : collection non-ordonnée et non-indexée acceptant les types


différents et n’autorisant pas les valeurs dupliquées

 Dictionary : collection non-ordonnée acceptant les valeurs dupliquées


avec des clés personnalisées

 String: une séquence de caractères ordonnée.


Introduction

Mémoire
 Les variables en Python
Donnée Objet
 Une donnée (nom de la variable) possède: référence
• Une identité (adresse mémoire) a
• Un type 505626232 9
int
• Une valeur (le contenu) 505626232
 Une donnée référence un objet
>>>a = 9
>>>id(a) 505626232
>>>type(a) <class 'int'>
 Deux types d’objet:
• Mutable (ou muable): peut être modifié après sa création (en préservant
la même identité)
• Immutable (ou immuable): ne peut pas être modifié après sa création
(peut être réaffecté)
Introduction

 Exemple d’objets muables Mémoire


 list Donnée Objet
 dict
 set liste [2,3,8,5]
20373256 [1,3,8,5]
list
20373256

liste = [2, 3, 8, 5]
print(id(liste)) # affiche 20373256

liste[0] = 1
print(liste) #affiche [1, 3, 8, 5]
print(id(liste)) # affiche 20373256

Après modification de la liste, son id n’a pas été changé.


Introduction

 Exemple d’objets immuables Mémoire


 int et float ch
'bonjour'
 Str 50562623
str
 bool 20344960 505626232
 tuple 'bonsoir
6'str
20344960

ch = "bonjour"
print(id(ch)) # affiche 50562623

ch[3] = "t" # TypeError: 'str' object does not support item assignment

ch = "bonsoir"
print(id(ch)) # affiche 20344960

Un objet immuable peut être réaffecté mais ne peut être modifié


Introduction

Les types sous Python

Les types
élémentaires Les conteneurs
int
float
bool Non Mutables Mutables
Tuples Listes
Chaines de caractères Dictionnaires
Ensembles

 Définitions :
 Un conteneur, appelé aussi une collection de données, est un objet
composite destiné à contenir d’autres objets plus simples
 Les données contenues dans un conteneur sont appelées les éléments.
 Un conteneur mutable est un objet modifiable
 Un conteneur non mutable est un objet non modifiable
Les Listes
Les listes
 Une liste (tableau dynamique) :

 Une liste est une structure de données qui contient une série de valeurs.

 Permet de manipuler une séquence d'objets modifiable.

 Contient un nombre non fixé d’éléments, de manière ordonnée.

 Peut contenir des éléments de type hétérogènes (des valeurs de types


différents, par exemple entier et chaîne de caractères)
 Création d’une liste
 Une liste vide:
>>> liste = []

 Une liste avec des éléments hétérogènes:


>>> liste =['Bonjour','Python',3.12,'!']

 Une liste contenant une autre liste:


>>> liste =['Bonjour','Python',[3.11, 3.12],'!']
Les listes

 Accès aux éléments d’une liste

vous pouvez appeler ses éléments par leur position. Ce numéro est appelé
indice (ou index) de la liste.

 Accès avec les indices des éléments

 Les indices positifs: les indices d’une liste de n éléments commence à 0 et


se termine à n-1

Liste 'Bonjour' 'python' 3.12 '!'


Indice positif 0 1 2 3

>>> liste = ['Bonjour','Python',3.12,'!']


>>> liste[0]
'Bonjour'
>>> elt=liste[2]
Les listes

 Les indices négatifs:

 La liste peut également être indexée avec des nombres négatifs

 Les indices négatifs reviennent à compter à partir de la fin. Leur principal


avantage est que vous pouvez accéder au dernier élément d’une liste à
l’aide de l’indice -1 sans connaître la longueur de cette liste.

Liste 'Bonjour' 'python' 3.12 '!'


Indice positif 0 1 2 3
Indice négatif -4 -3 -2 -1

>>> liste[-4] #liste[-tailleListe]=liste[0]


'Bonjour'
Les listes

 Modification des éléments d’une liste

>>> liste[0]='Salut'
>>> liste[2]=4
>>> liste
['Salut', 'Python', 4, '!']
Les listes

 Accès avec le découpage en tranches ou Slicing: Accéder à plus qu’un élément


avec l’operateur de sélection [Début : Fin: Pas]
>>> L = ['Hello','Python',3.12,'!']
L[i:j] Extraire la sous-liste de l’élément i (inclus) à l’élément j (exclu) et le pas par défaut 1

>>> L[1:3] ['Python', 3.12]

L[i:j:k] Extraire la sous-liste de l’élément i (inclus) à l’élément j (exclu) par un pas égal à k
>>> L[4:0:-1] ['!', 3.12, 'Python']

L[i:] Extraire la sous-liste depuis l’élément i (inclus) jusqu'à la fin de la liste.


>>> L[2:] [3.12,'!']

L[:j] Extraire la sous-liste de début indice 0 jusqu'à l'indice j (exclu).


>>> L[:2] ['Hello', 'Python']

L[:] Extraire la sous-liste de début jusqu'à la fin de la liste


>>> L[:] ['Hello','Python',3.12,'!']
Les listes

 Les fonctions prédéfinies sur les listes


len Retourne la longueur de la liste

>>> L =['Hello','Python',3.12,'!'] 4
>>> len(L)

min, max et sum renvoient respectivement le minimum, le maximum et la somme d’une


liste passée en argument
>>> L = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print('Min=', min(L)) Min = 0
>>> print('Max=', max(L)) Max = 9
>>> print('Somme=', sum(L)) Somme = 45
>>> Liste =['Hello','Python',3.12,'!']
>>> min(Liste) TypeError:unorderable
types: float() < str()

del Supprime la liste ou Supprime un élément de la liste


>>> L =['Hello','Python',3.12,'!']
>>> del(L[0])
>>> L ['Python',3.12,'!']
>>> del(L)
>>> L L is not defined
Les listes

 Les méthodes communes des listes


Syntaxe : Nom_liste.nom_methode(paramètres)
>>> liste = ['Hello','Python',3.12,'!']
append(x) Ajoute un élément x (nombre, chaîne, liste, etc.) à la fin d’une liste
>>> liste.append(4); liste ['Hello','Python',3.12,'!',4]

insert(i,x) Modifie une liste en insérant x dans la position d’indice i


>>>liste.insert(2,8); liste ['Hello','Python',8,3.12,'!']

reverse() Modifie la liste en reversant l’ordre de ses éléments


>>>liste.reverse(); liste ['!', 3.12, 'Python', 'Hello']

index(x) Retourne l’indice de x dans la liste


>>>liste.index("Python") 1

count(x) Retourne le nombre d’occurrences de x dans la liste


>>>liste.count("Python") 1
Les listes

>>> liste = ['Hello','Python',3.12,'!']

remove(x) Supprime la première occurrence de x dans la liste


>>> liste.remove(3.12); liste) ['Hello','Python','!']

pop(index) Renvoie l’élément d’indice index et le supprime de la liste


>>>liste.pop(1); liste 'Python',
['Hello',3.12,'!']

sort() Trie par ordre croissant les éléments de la liste

>>>nbr=[17,38,10,25,72] [10, 17, 25, 38, 72]


>>>nbr.sort(); nbr
>>>nbr.sort(reverse=True) [72, 38, 25, 17, 10]
join() Transforme une liste en string
>>> ":".join(liste) 'Hello:Python:3.12:!'
Les listes

 Les opérations sur les listes

 Parcourir les éléments de la liste avec la boucle for

ville=["Tunis","Sfax","Mahdia","Sousse","Monastir"]

for i in ville: for i in range(len(ville)):


print(i) print(ville[i])

 Parcourir une liste avec la boucle while


values=[1,2,3,4,5]
somme=0
i=0
while i < len(values):
somme+=values[i]
i+=1
print(somme)
Les listes

Concaténation (+) : Concatène deux listes


>>>liste1 = ['Hello','Python',3.9,'!'] ['Hello','Python',3.9,
>>>liste2=['Salut', 'Python', 3.10] '!','Salut','Python',3.10]
>>>liste1+liste2

Multiplication (*): Multiple le contenu d’une liste


['Hello', 'Python', 3.12,
>>>liste = [Hello','Python',3.12,'!'] '!','Hello', 'Python', 312,
>>>liste*2; '!']

Appartenance (in ou not in): Teste l’appartenance d’un élément dans la liste (renvoie True
ou False)
>>>liste = [Hello','Python',3.9,'!']
True
>>> "Python" in liste

Comparaison (== ou !=) Compare deux listes


>>>liste1 = ['Hello','Python',3.9,'!'] False
>>>liste2=['Salut', 'Python', 3.10] True
>>>liste1 == liste2;
>>>liste1 != liste2
Les listes

 Les listes en compréhension en python


 La compréhension de liste est une astuce python permettant d' optimiser le code .
 Elle permet de créer une liste à partir d’une itération.
 L'idée est de simplifier le code pour le rendre plus lisible et donc plus rapide à
écrire et plus simple à maintenir.
Syntaxe:
new_list = [ fonction(element) for element in liste if condition(element)]

Exemple1:
Sans la compréhension de liste Avec la compréhension de liste

liste = []
for x in range(5): liste = [x for x in range(5)]
liste.append(x) print(liste)
print(liste)

Affiche [0, 1, 2, 3, 4]
Les listes

 Il est également possible d’appliquer un filtre lors de la création d’une liste en


compréhension afin de ne pas prendre un compte certains éléments de la liste ou
de l’itération de départ.
Exemple 2: Filter une liste

list = [1,4,2,7,1,9,0,3,4,6,6,6,8,3]
- Filtrer les valeurs de cette liste en gardant que les valeurs
supérieures à 5

Sans la compréhension de liste Avec la compréhension de liste


newList = [] newList=[x for x in list if x > 5]
for x in list:
if x > 5:
newList.append(x)

Affiche [7, 9, 6, 6, 6, 8]
Les listes

 Exemple 3: Filter une liste

- Filtrer les chaines ayant une longueur < 4


list = ["hello", "the", "world"]

Sans la compréhension de liste Avec la compréhension de liste

newList = []
for x in list: newList=[x for x in list if len(x) < 4]
if len(x) < 4: print(newList)
newList.append(x)
print(newList)

Affiche ['the']
Les listes

 Un intérêt des listes en compréhension est aussi de permettre de construire


une nouvelle liste à partir d’une liste existante .
 Exemple 4: Exécuter une fonction sur chaque élément d'une liste

list = [1, 2, 3, 4]
newList = [2 * x for x in list]
print(newList) # affiche [2, 4, 6, 8]

 Exemple 5: Exécuter une fonction sur chaque élément d'une liste

list = ["hello", "the", "world"] # affiche [5, 3, 5]


newList = [len(x) for x in list]
print(newList)
Les Tuples
Les tuples

 Un tuple (n-uplet) :

 Est une collection ordonnée et non modifiable

 Peut contenir des éléments de type hétérogènes


 Création d’un tuple

 Un tuple vide:
>>> t= ()

 Un tuple avec des éléments hétérogènes:


>>> t = ('Bonjour','Python',3.9,'!')
>>> type(t)
<class 'tuple'>

 Un tuple contenant un autre tuple:


>>> tuple =('Bonjour','Python',(3.9,4),'!')
Les tuples

 Accès aux éléments d’un tuple

 Accès avec les indices des éléments en lecture uniquement


Tuple 'Bonjour', 'python', 3.9 '!'
Indice positif 0 1 2 3
Indice négatif -4 -3 -2 -1

>>> t = ('Bonjour','Python',3.9,'!')
>>> t[0]
'Bonjour'
>>> element=t[2]

>>> t[-4] #t[-taille]=t[0]


'Bonjour'

 Modification des éléments d’un tuple: Un tuple n’est pas modifiable


>>> t[0]='Salut'
TypeError: 'tuple' object does not support item assignment
Les tuples

 Accès avec le découpage en tranches ou Slicing:

Accéder à plus qu’un élément avec l’operateur de sélection [Début : Fin: Pas]

>>> t=('Bonjour','Python',3.9,'!')
>>> t[:2]
('Bonjour', 'Python')
>>> t[1:]
('Python', 3.9, '!')
>>> t[1:2]
('Python')
>>> t[0:3:2]
('Bonjour', 3.9)
Les tuples

 Les fonctions prédéfinies sur les tuples


len Retourne la longueur du tuple
>>> t =('Hello','Python',3.9,'!') 4
>>> len(t)

min, max et sum renvoient respectivement le minimum, le maximum et la somme


d’un tuple passé en argument
>>> t = (1,2,6,0,7) Min = 0
>>> print('Min=', min(t) Max = 9
>>> print('Max=', max(t)) Somme = 45
>>> print('Somme=', sum(t))
>>> T =('Hello','Python',2.9,'!') TypeError:unorderable
>>> min(T) types: float() < str()
Les tuples

 Les méthodes sur les tuples

count(x) Retourne le nombre d’occurrences de x dans un tuple


>>> T =('Hello','Python',3.9,'!') 1
>>> T.count("Python")

index(x) Retourne l’indice de x dans le tuple


>>> T =('Hello','Python',3.9,'!') 2
>>> T.index(3.9)
Les tuples

 Les opérations sur les tuples

 Parcourir un tuple avec la boucle for


values=(1,2,3,4)
somme=0
for element in values: for element in range(len(values)):
somme+=element somme+=values[element]
print(somme)

 Parcourir un tuple avec la boucle while


somme=0; i=0
while i < len(values):
somme+=values[i]
i+=1
print(somme)

 Déballer un tuple dans plusieurs variables:


>>> a,b,c,d=values #nombre de variables doit être égal à la longueur du tuple
>>> print(a,b,c,d,sep='|') 1|2|3|4
Les tuples
Concaténation (+) : Concatène deux tuples
>>> t1 = ('Hello','Python',3.9,'!')
>>> t2=('Salut', 'Python', 4) ('Hello','Python',3.9,
>>> t1+t2 '!','Salut','Python',4)

Multiplication (*): Multiple le contenu d’un tuple


>>>t = ('Hello','Python',3.9,'!') ('Hello','Python',3,9, '!',
>>>t*2; 'Hello', 'Python', 3,9, '!')

Appartenance (in ou not in): Teste l’appartenance d’un élément dans le tuple
>>> t = (Hello','Python',3.9,'!')
True
>>> "Python" in t

Comparaison (== ou !=): Compare deux tuples


>>> t1 = ('Hello','Python',3.9,'!')
>>> t2 =('Salut', 'Python', 4)
>>> t1 == t2 False
>>> t1 != t2 True

Création d’un tuple de tuples (,): Forme un tuple de tuples


>>> t1 = (1,2,3)
>>> t2 =(4,5,6) ((1, 2, 3), (4, 5, 6))
>>> t1,t2
Les Chaines de caractères
Les chaines de caractères

 Une chaine de caractères:

 Est une séquence de caractères ordonnée et non modifiable.

 Les chaines sont délimitées par des " ou par des '.

 Création d’une chaine de caractères

 Une chaine vide:


>>> ch = " "

 Une chaine
>>> ch='Bonjour' #ou ch="Bonjour"
>>> ch
'Bonjour'
>>> type(ch)
(<class 'str'>
Les chaines de caractères

 Accès aux éléments d’une chaine de caractères

 Accès avec les indices des éléments en lecture uniquement

caractères b o n j o u r
indices 0 1 2 3 4 5 6

>>> ch= "bonjour"


>>> ch[0]
b

 Modification des éléments d’une chaine de caracatères:


Attention: les éléments d’une chaine ne sont pas modifiables

>>> ch[0]="B"
TypeError: 'str' object does not support item assignment
Les chaines de caractères

 Accès aux éléments d’une chaine de carcatères

 Accès avec le découpage en tranches ou Slicing

>>> ch= "bonjour"


Syntaxe Description Exemples

ch[i:j] permet d’extraire une portion de la chaîne >>> ch[0:3]


'bon'
ch [:k] renvoie les k premiers caractères de ch >>> ch4[:5]
'bonjo'
ch[-k:] renvoie les k derniers caractères de ch >>> ch[-6:]
'onjour'

ch[::p] renvoie les caractères de ch par pas p >>> ch[::2]


'bnor'
Les chaines de caractères

 Les opérations sur les chaines de caractères

 Parcourir les éléments d’une chaine avec la boucle for

ville="Mahdia" ville="Mahdia"
for i in ville: for i in range(len(ville)):
print(i) print(ville[i])

 Parcourir une chaine avec la boucle while

ville="Mahdia"
i=0
while i <len(ville):
print(ville[i])
i+=1
Les chaines de caractères

 Les opérations sur les chaines de caractères


>>> ch= "bonjour"

Opérations Description Exemple


len() Retourne la taille de la chaîne >>> len(ch)
7
+ Concatène deux chaînes >>> ch2=ch+' monsieur'
>>> print(ch2)
bonjour monsieur
>>> '123' + 1
TypeError: cannot concatenate 'str' and
'int' objects
* Duplique une chaîne >>> ch*3
'bonjourbonjourbonjour'
in Teste l’appartenance d’un >>> "x" in ch
not in caractère ou une sous-chaîne False
>>> "bon" in ch
True
== Compare deux chaines >>> ch!=ch2
!= True
Les chaines de caractères

 Les méthodes communes sur les chaines

>>> Ch = "bonjour"
Méthodes Description Exemple
count(x) Retourne le nombre d’occurrences de x dans >>> n=ch.count("B")
la chaine >>>n
0
>>> ch.count("b")
1
index(x) Retourne l’indice de x dans la chaine >>>n=ch.index("n")
(retourne une erreur s’il n’existe pas) >>>n
2
>>>n=ch.index("N")
ValueError: substring not found
find(x) Recherche une sous-chaîne x dans la chaîne >>>ch.find("bon")
et retourne son indice (retourne -1 si elle 0
>>>ch.find("Bon")
n’existe pas)
-1
split() Découpe une chaîne selon un séparateur et >>>ch2="bonjour monsieur"
retourne une liste >>>l=ch2.split()
>>>l
['bonjour', 'monsieur']
Les chaines de caractères

 Les méthodes communes sur les chaines

>>> Ch = "bonjour"

Méthodes Description Exemple


isupper() Renvoie True si toute la chaine est en >>> ch.isupper()
majuscule, False sinon False

islower() Renvoie True si toute la chaine est en >>> ch.islower()


minuscule, False sinon True

isnumeric() Renvoie True si tous les caractère de la >>> ch1="12345"


chaine sont des caractères numériques, >>> ch1.isnumeric(); ch.isnumeric()
True
False sinon False

isalpha() Renvoie True si tous les caractère de la >>> ch.isalpha(); ch1.isalpha()


chaine sont des caractères alphabétiques, True
False
False sinon
Isalnum() Renvoie True si tous les caractère de la >>> ch.isalnum()
chaine sont des caractères True
alphanumériques, False sinon
Les chaines de caractères

 Les méthodes communes sur les chaines

>>> Ch = "bonjour"
Exemple
Méthodes Description
Ch = "bonjour"
upper() Convertit la chaine en majuscules >>> ch.upper()
'BONJOUR'

lower() Convertit la chaine en minuscules >>> ch.lower()


'bonjour'

replace() Remplace une chaîne par une autre >>> ch.replace("n","N")


'boNjour'

capitalize() Convertit le premier caractère d'une chaîne en >>> ch.capitalize()


'Bonjour'
lettre majuscule
swapcase() Renvoie une copie de la chaine avec des >>> ch.swapcase()
'BONJOUR'
caractères majuscules convertis en minuscules
et vise versa
lstrip() Renvoie une copie de la chaîne avec les >>>ch1=" Bonjour"
espaces de début supprimés. >>>ch1.lstrip()
'Bonjour'

rstrip() Enlève les espaces de fin >>> ch1="Bonjour Mr "


>>> ch.rstrip()
'Bonjour Mr'
Les Dictionnaires
Les dictionnaires

 Un dictionnaire :

 Est une collection de couples clé:valeur modifiables et non ordonnés

 La clé pourra être alphabétique, numérique, liste, …

 La clé ne peut être présente qu’une seule fois dans le dictionnaire

 Les valeurs pourrons être de tout type sans exclusion.


 Création d’un dictionnaire

 Un dictionnaire vide:
>>> d = {} # ou bien d = dict()

 Un dictionnare avec des clés de type chaines de caractères:


>>> d = {"Nom":"Python","Version":3.9}
# ou bien d = dict(nom="Python",version=3.9)
>>> type(d)
<class 'dict'>
Les dictionnaires

 Accès aux éléments d’un dictionnaire

 Accès à une valeur du dictionnaire en utilisant la clé:


Clé Nom Version
Valeur Python 3.9

>>> d={"Nom":"Python","Version":3.9}
>>> d["Version"]
3.9
 Modification des éléments d’un dictionnaire:
Si la clé est déjà présente, la valeur associée est mise à jour, sinon une
nouvelle paire clé: valeur est ajoutée au dictionnaire.
>>> d ={"Nom":"Python","Version":3.9}
>>> d["Nom"]="Python language" #mise à jour de la valeur
>>> d
{'Nom': 'Python language', 'Version': 3.9}
Les dictionnaires

 Les fonctions prédéfinies sur les dictionnaires


>>> d={"Nom":"Python","Version":3.9}

Fonctions Description Exemple


len() Retourne la longueur du dictionnaire >>> len(d)
2
sorted() Trie les clés ou les valeurs d’un >>> sorted(d.keys())
dictionnaire par ordre croissant s’ils sont ['Nom', 'Version']
>>> sorted(d.values())
de même type ou de types comparables
TypeError: unorderable types: float() <
str()
min() Retourne le minimum des clés ou des >>> min(d.keys())
valeurs d’un dictionnaire 'Nom'

max() Retourne le maximum des clés ou des >>> max(d.keys())


valeurs d’un dictionnaire 'Version'

del () Supprimer un élément d’un dictionnaire >>> del (d['Version'])


>>> d3
{"Nom":"Python"}
Les dictionnaires

 Les méthodes communes sur les dictionnaires


>>> d ={"Nom":"Python","Version":3.9}
Méthodes Description Exemple
items() Retourne les couples du dictionnaire >>> d.items()
dict_items([('Nom', 'Python'), ('Version', 3.9)])

values() Retourne les valeurs du dictionnaire sous >>> d.values()


forme de liste dict_values(['Python', 3.9])

keys() Retourne les clés du dictionnaire sous >>> d.keys()


forme de liste dict_keys(['Nom', 'Version'])

get() Renvoie la valeur de la clé si elle existe >>> d.get("Nom") #d["Nom"]


'Python'
update() Mis à jour le dictionnaire avec les couples >>> d.update({"Nom":"Python Language"})
clé/valeur en remplaçant les clés >>> d
{'Nom': 'Python language', 'Version': 3.9}
existantes.
copy() Copier un dictionnaire dans un autre >>> d2=d.copy(); d2
{'Nom': 'Python language','Version': 3.9}
pop(c) Supprime l’élément de la clé c et donne >>> d.pop("Version")
sa valeur 3.2
>>> d {'Nom': 'Python'}
clear() Supprimer les éléments d’un dictionnaire >>> d.clear(); d
{}
Les dictionnaires

 Les opérations sur les dictionnaires

 Parcourir un dictionnaires avec la boucle for

dic = {'Nom': 'Mohamed', 'Age': 20}


for key in dic.keys(): # ou bien for key in d:
print(key,dic[key], sep='->') Résultat:
for key,value in dic.items(): Nom -> Mohamed
print(key,value,sep='->') Age -> 20

Opérations Description Exemple


In Teste l’appartenance d’un élément if 20 in d.values():
not in dans le dictionnaire print("Existe")
else:
print("n’existe pas")
== Compare deux dictionnaires >>> dic==d
!= False
Les Ensembles
Les ensembles

 Un Ensemble (Set):
 Un ensemble est une collection non ordonnée et mutable d’éléments
uniques séparés par des virgules et représentés entre accolades.
 Chaque élément est unique (pas de doublons) et doit être immuable
(non modifiable).
 Les éléments d'un ensemble ne sont stockés dans aucun ordre particulier
 Les ensembles sont des structures non indexées.
 Création d’un ensemble

 Un ensemble vide:
>>> S1=set() #ou bien S1=set({})

 Un ensemble contenant un seul élément


>>> S2 = #
{1}
affiche {'!', 'Python', 'Salut', 3.10}

 Un ensemble avec plusieurs éléments hétérogènes


>>> S3 ={'Salut','Python','Python',3.10,'!'}
>>> S3
Les ensembles

 Un ensemble est construit avec la méthode set()


>>> S4=set({"Salut", "Python",3.10,"Python","!"});
>>> #ou bien S4=set(["Salut", "Python",3.10,"Python","!"])
>>> S4
# affiche {'Python', '!', 'Salut', 3.10}
 Un ensemble est construit en utilisant une boucle for
>>> S5={x for x in range(1,4)}
>>> S5
# affiche {1,2,3}

 Accès aux éléments d’un ensemble


 Il n’est pas possible d’accéder aux éléments d’un ensemble avec
l’opérateur [] comme avec les autres conteneurs.
 En revanche, il est possible de parcourir un ensemble.

S={1,2,3} 1
for elt in S: 2
3
print(elt)
Les ensembles

 Les fonctions prédéfinies sur les ensembles


Soit l’ensemble S1
>>> S1={1, 2, 3, 4}
Fonctions Description Exemple
len() Retourne la longueur d’un ensemble >>> len(S1)
4
sorted() Retourne une liste contenant les >>> sorted(S1)
éléments d’un ensemble triés par ordre [1, 2, 3, 4]
croissant s’ils sont de même type
min() Retourne le minimum des éléments >>> min(S1)
d’un ensemble 1
max() Retourne le maximum des éléments >>> max(S1)
d’un ensemble 4
Sum() Retourne la somme des éléments d’un >>> sum(S1)
ensemble 10
del () Supprimer un ensemble >>> del(S1)
>>> S1
NameError: name 'S1' is not
defined # S1 a été supprimé
Les ensembles

 Les opérations sur les ensembles


Soient les deux ensembles S1 et S2
>>> S1={1, 2, 3, 4}
>>> S2={3, 4, 5, 6}
Opérations Description Exemple
X&Y Retourne l’intersection de l’ensemble X et Y >>> S1 & S2
{3, 4}
X|Y Retourne l’union de l’ensemble X et Y >>> S1 | S2
{1, 2, 3, 4, 5, 6}
X-Y Retourne l’ensemble des éléments de X qui ne >>> S1 - S2
sont pas dans Y {1, 2}
>>> S2 - S1
{5, 6}
X^Y Retourne l’ensemble des éléments qui sont >>> S1 ^ S2
soit dans X soit dans Y {1, 2, 5, 6}
In ou not in Teste l’appartenance d’un élément dans >>> 6 in S1
l’ensemble False
== ou != Compare deux ensembles >>> S1==S2
False
Les ensembles

 Les méthodes communes sur les ensembles


Opérations Description Exemple
difference() Retourne la différence entre deux >>> S1.difference(S2)
ensembles {1, 2}

intersection() Retourne l’intersection de deux >>> S1.intersection(S2)


ensembles {3, 4}
union() Retourne l’union de deux >>> S1.union(S2)
ensemble {1, 2, 3, 4, 5, 6}

add(x) Ajoute un élément x à l'ensemble >>> S1.add('hello');S1


{1, 2, 3, 4, 'hello'}

update(x) Modifie l’ensemble en le >>> S1.update(['world', 5, 6]);S1


rajoutant des éléments {1, 2, 3, 4, 'hello','world', 5, 6}

copy() Renvoie une copie de l'ensemble >>> E=S1.copy();E


{1, 2, 3, 4, 'hello','world', 5, 6}
Les ensembles

 Les méthodes communes sur les ensembles


Opérations Description Exemple
remove(x) Supprime l’élément x de >>> S1.remove('world');S1
l’ensemble {1, 2, 3, 4, 'hello', 5, 6}
>>> S1.remove('Bonjour')
S3.remove('Bonjour') KeyError:
'Bonjour'
issubset() Renvoie True si un ensemble est un >>> S2.issubset(S1)
sous ensemble d’un autre, False False
sinon >>> I={1,2}
>>> I.issubset(S1)
True
pop() Supprime et retourne un élément >>> x=S1.pop()
arbitraire de l'ensemble. 6
>>> S1
{1, 2, 3, 4, 'hello', 5}
clear() Supprime tous les éléments de >>> S1.clear();S1
l'ensemble set()

Vous aimerez peut-être aussi