0% ont trouvé ce document utile (0 vote)
11 vues67 pages

Conteneurs en Python : Types et Utilisation

Transféré par

chaimatounsi26
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)
11 vues67 pages

Conteneurs en Python : Types et Utilisation

Transféré par

chaimatounsi26
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

Chapitre 2

Les conteneurs sous python

1ère Année Génie


Chapitre
Fatma 2
Ben Saïd <[Link]@[Link]> Cours Programmation Python Informatique – S1
Cours Informatique – 1ère année GI

Chapitre 2 : Les conteneurs sous python


 Introduction
 Les types sous python
 Conteneur : définition
 Les séquences
 Les chaînes
 Les listes
 Les tuples
 Les ensembles
 Les dictionnaires

Chapitre 2 Cours Programmation Python


Introduction

Les types sous python (built-in)


Les types
composés

Les conteneurs Les types élémentaires

Définition : int, float, complex


 Un conteneur est un objet composite
destiné à contenir d’autres objets.
 On appelle éléments les données
contenues dans un conteneur.

Chapitre 2 Cours Programmation Python 3


Introduction Conteneur : définition (suite)

 Un conteneur peut être vu comme une collection de données : nous distinguons


les séquences (Listes, chaînes, tuples), les dictionnaires, les ensembles et les
fichiers textuels.

Les conteneurs

Non Mutables Mutables

Ordonnés Ordonnés Non Ordonnés

 Chaînes  Listes  Dictionnaire


 Tuples  Ensemble

Chapitre 2 Cours Programmation Python 4


Introduction Conteneur : définition (suite)

 Deux classements pour les types composés sont possibles :


1) Mutables et Non Mutables
 Mutable : modification autorisée (e.g., liste, dictionnaire, ensemble)
 Non Mutable: modification non autorisée (e.g., tuples et chaîne de caractères)
2) Ordonnés et Non ordonnés

Chapitre 2 Cours Programmation Python 5


Cours Informatique – 1ère année GI

Chapitre 2 : Les conteneurs sous python


 Introduction
 Les types sous python
 Conteneur : définition

 Les séquences
 Les chaînes de caractères
 Les listes
 Les tuples
 Les ensembles
 Les dictionnaires
Chapitre 2 Cours Programmation Python
Les chaines de caractères

Chapitre 2 Cours Programmation Python 7


Les Séquences
 Une séquence est un conteneur ordonné d’éléments indexés par des
entiers indiquant leur position dans le conteneur.
 Les indices commencent par 0.

Les conteneurs

Non Mutables Mutables

Ordonnés Ordonnés Non Ordonnés

 Listes  Dictionnaire
 Chaînes
 Ensemble
 Tuples

Chapitre 2 Cours Programmation Python 8


Les chaînes de caractères
 Les données alphanumériques sont appelées des chaînes de caractères : c’est le type str
sous Python
 Elles sont délimitées par des simples(' ') ou doubles (" ") ou triples (""" """) côtes .

ch = 'Bonjour'
ch1 = "1GI"
ch2 = """texte sur
plusieurs lignes """

print(ch) ; print(ch1) ; print(ch2)

ch3 = 'L'institut'
print(ch3)

ch3 = "L'institut" Utiliser les doubles côtes au lieu des simples ou bien
ch3 = 'L\'institut' Insérer le caractère antislash « \ »

Chapitre 2 Cours Programmation Python 9


Accès aux caractères individuels
 Accès et indexage
1 Indexage positif 2 Indexage négatif

0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1

ch = ' b o n j o u r ' ch = ' b o n j o u r '

L’espace aussi est considéré un caractère

print(ch[1]) #accès au 2ème élément de la chaine ch


print(ch[0] == ch[-8]) #True
# c'est l'accès au 1er élément. l'indice positif: 0 = l'indice négatif: -8
# La fonction len() permet de calculer la longueur d’une chaîne de caractères
print(len(ch)) #8

Pour accéder au 1er élément avec un indice négatif :


print(ch[-len(ch)])

Chapitre 2 Cours Programmation Python 10


Accès aux caractères individuels (suite)
 Modification d’une chaîne de caractères
ch = 'bonjour'
ch[0] = 'B' #on veut modifier le ‘b’ par ‘B’ dans la chaîne ch.

Si on essaye de modifier une chaîne, il se produit des erreurs! Chaîne  immutable

 Concaténation et répétition de chaînes de caractères


ch = 'Bonjour '
ch1 = "1GI"
ch1 = ch + ch1 ; print(ch1) print(ch1[-3]*2)
print(ch[0]*2) print(ch*3)

Chapitre 2 Cours Programmation Python 11


Slicing
 La syntaxe ch[i : j] permet d’extraire une portion de la chaîne ch
ch1 = "Bonjour 1GI" ch1 = "Bonjour 1GI" ch1 = "Bonjour 1GI"
print(ch1[3:8]) print(ch1[3:-4]) print(ch1[-5:-2])

 ch[:k] renvoie les k premiers caractères de ch


ch[-k:] renvoie les k derniers caractères de ch
ch1 = "Bonjour 1GI" ch1 = "Bonjour 1GI"
print(ch1[:3]) print(ch1[4:])

 La syntaxe ch[i:j:p] permet d’extraire une portion de la chaîne ch par pas p


ch1 = "Bonjour 1GI" ch1 = "Bonjour 1GI" ch1 = "Bonjour 1GI"
print(ch1[::2]) print(ch1[3::2]) print(ch1[::-1])

Chapitre 2 Cours Programmation Python 12


Méthodes prédéfinies d’une chaîne
Méthode Description
len(chaine) Renvoie la longueur de la chaîne de caractères chaine.
[Link]() Convertit la chaîne en majuscules.
[Link]() Convertit la chaîne en minuscules.
[Link]() Met en majuscule la première lettre de la chaîne.
Convertit les caractères minuscules en majuscules et vice versa dans la chaîne
[Link]()
chaine.
convertir chaine en une version où la première lettre de chaque mot est en
[Link]()
majuscule et toutes les autres lettres sont en minuscules.

Exemples :

Chapitre 2 Cours Programmation Python 13


Méthodes prédéfinies d’une chaîne
Méthode Description
[Link]() Renvoie True si tous les caractères de la chaîne sont des chiffres.
[Link]() Renvoie True si tous les caractères de la chaîne sont alphabétiques.
Renvoie True si tous les caractères de la chaîne sont des chiffres (0 à 9)
[Link]()
et False sinon.
Renvoie True si tous les caractères de la chaîne sont des lettres
[Link]()
majuscules et False sinon.
[Link](prefixe) Renvoie True si la chaîne commence par prefixe.
[Link](suffixe) Renvoie True si la chaîne se termine par suffixe.

Exemples :

Chapitre 2 Cours Programmation Python 14


Méthodes prédéfinies d’une chaîne (suite)
Méthode Description
[Link](sous_chaine) Compte le nombre d'occurrences de sous_chaine dans chaine.
Retourne l'indice de la première occurrence de sous_chaine dans
[Link](sous_chaine)
chaine, ou -1 si non trouvé.
Remplace toutes les occurrences de ancien par nouveau dans
[Link](ancien, nouveau)
chaine.
Retrouve l’indice de la première occurrence de sous_chaine dans
[Link](sous_chaine)
chaine

Exemples :

Chapitre 2 Cours Programmation Python 15


Méthodes prédéfinies d’une chaîne (suite)
Méthode Description
Divise la chaîne en une liste de sous-chaînes en utilisant sep comme
[Link](sep)
séparateur. (convertir une chaîne vers une liste de mots )
[Link]() Supprime les espaces en début et fin de la chaîne.
[Link]() Enlève les espaces de fin

dir(str); help(str)
Exemples :
ch = "Bonjour à tous "
ch1 = [Link]()
print(len(ch), len(ch1))
print([Link]())

ch2 = "Cours_Python_IIT_2024"
print([Link]('_'))
print([Link]('_',maxsplit=2))
maxsplit indique le nombre de fois
qu’on souhaite découper la chaine
Chapitre 2 Cours Programmation Python 16
Parcourir une chaîne de caractères
Activité :
Soit ch = "Python"
Ecrivez un code python qui permet d’énumérer les caractères de ch.

ch = "Python" ch = "Python"
for i in ch: i=0
print(i) while i<len(ch):
print(ch[i], end=' ')
i+=1

Chapitre 2 Cours Programmation Python 17


Les listes en python

Chapitre 2 Cours Programmation Python 18


Les Séquences (suite)

Les conteneurs

Non Mutables Mutables

Ordonnés Ordonnés Non Ordonnés

 Chaînes  Listes  Dictionnaire


 Tuples  Ensemble

Chapitre 2 Cours Programmation Python 19


Les Listes
 Une liste est une collection ordonnée et modifiable d’éléments éventuellement hétérogènes.
 Une liste est représentée entre crochets [ ], et ses éléments sont séparés par des virgules.
 Le type des listes en Python est list.

liste = [2, 'c', 'Salut', 3.5, True, [3,4]]


print(type(liste))
print(list(range(5)))
print(list(range(2,5)))

 Création d’une liste vide


l = list() Ou bien l = []

 La fonction len retourne le nombre d’éléments d’une liste


print(len(liste)) #6

Chapitre 2 Cours Programmation Python 20


Accès et indexage
0 1 2 3 4 5 Indexage positif
liste = [2, 'c', 'Salut', 3.5, True, [3,4]]
-6 -5 -4 -3 -2 -1 Indexage négatif

On accède aux éléments individuels d’une liste en indiquant leur indice entre crochets.

liste = [2, 'c', 'Salut', 3.5, True, [3,4]]


print(liste[0]) #le premier élément
print(liste[-len(liste)]) #le premier élément aussi!
print(liste[-1]) #le dernier élément
print(liste[3]) #le 4ème élément avec l'indice 3
print(liste[-1][0]) #accès au 1er élément de la liste [3,4]

Chapitre 2 Cours Programmation Python 21


Slicing
Extraire un sous-ensemble des éléments d’une liste telque : liste[min:max] (min inclus et
max exclu)

liste = [2, 'c', 'Salut', 3.5, True, [3,4]]

print(liste[2:5])

print(liste[:3]) #min=0, max=3

print(liste[3:]) #min=3, max=len(liste)

print(liste[1:1]) #donne le vide!!

print(liste[1:2]) #un seul élément

print(liste[:]) #copie de liste

Chapitre 2 Cours Programmation Python 22


Slicing (suite)

liste = [2, 'c', 'Salut', 3.5, True, [3,4]]

#liste[min:max:p] ; on ajoute un pas p


print(liste[1::2]) #min=1, max=len(liste), p=2

print(liste[::-1]) # p=-1 ; l'inverse de la liste

#Avec des indices négatifs


print(liste[-3:]) #min=-3, max=len(liste)

print(liste[:-1]) #min=0, max=-1

Chapitre 2 Cours Programmation Python 23


Opérateurs sur les listes
liste1 = [2,'c']
liste2 = [True, 3.14]

o Concaténer deux listes utilisant l’opérateur +

print(liste1 + liste2)

o Multiplier (*) une liste par un entier


print(liste1*2)

o Comparer deux listes utilisant l’opérateur ==

[1,2] == [2,1]

liste1 == [2, 'c']

Chapitre 2 Cours Programmation Python 24


Modification d’une liste
o Affecter une valeur à un élément d’une liste

liste3 = [2,'c', True, 3.14]


liste3[0] = 'b'
print(liste3)

o Affecter une liste à un intervalle


NB. il n’est pas nécessaire que les listes soient de longueur identique.

liste3[0:2] = [1,2]
print(liste3)

liste3[0:2] = [1,2,3,4]
print(liste3)

Chapitre 2 Cours Programmation Python 25


Copie d’une liste
L’affectation d’une liste à une variable ne crée pas une copie de la liste!!

nombre = [1,2,3]
nb = nombre
#vérifier que ces deux listes ont la même adresse physique
print((id(nb),id(nombre))) #(139750269976000, 139750269976000)
nb = nombre
#n'importe quelle modification sera prise en compte
nb[-1]=9
print(nombre) #[1, 2, 9]

#Pour faire une copie de liste


nb = nombre[:]
nb = list(nombre)
nb = nombre + []

Chapitre 2 Cours Programmation Python 26


Méthodes prédéfinies d’une liste
Méthode Description
len(L) Renvoie le nombre d'éléments dans la liste L.
[Link](element) Ajoute element à la fin de la liste L.
[Link](iterable) Étend la liste en ajoutant les éléments de iterable (ex. une autre liste) à la fin.
[Link](index, e) Insère un élément e à la position index donnée dans la liste.
[Link](element) Supprime la première occurrence de element dans la liste.
[Link]([index]) Retire et renvoie l'élément à la position index (par défaut, le dernier élément).

Chapitre 2 Cours Programmation Python 27


Méthodes prédéfinies d’une liste (suite)
Méthode Description
[Link](e) Renvoie l'indice de la première occurrence de e dans la liste L.
[Link](e) Renvoie le nombre d'occurrences de e dans la liste L.
[Link]() Renvoie une copie superficielle de la liste L.
[Link]() Supprime tous les éléments de la liste L.
[Link]() Inverse l'ordre des éléments dans la liste L.

Chapitre 2 Cours Programmation Python 28


Méthodes prédéfinies d’une liste (suite)
Méthode Description
Trie la liste en ordre croissant (ou décroissant si reverse=True) en
[Link](key=None, reverse=False)
utilisant une clé facultative.

Pour conserver la liste originale liste (sans tri), on peut créer une nouvelle liste triée
utilisant la fonction sorted

Chapitre 2 Cours Programmation Python 29


Méthodes prédéfinies d’une liste (suite)

o iterable: L'itérable à trier (ex: liste, tuple).


o key (facultatif) : utilisé pour spécifier une fonction de clé de tri personnalisée qui
détermine l'ordre de tri des éléments dans une liste.
o reverse (facultatif) : Par défaut, il est à False pour trier en ordre croissant.

Cas d'utilisation de l'argument key


• Trier une liste de chaînes de caractères par longueur
• Tri en fonction d'une fonction de transformation
• Tri en fonction de plusieurs critères
• …

Chapitre 2 Cours Programmation Python 30


Méthodes prédéfinies d’une liste (suite)
• Étant donné une liste de chaînes, vous pouvez les trier par ordre croissant de leurs
longueurs en passant un paramètre clé (key).
listeFruit = ["banane", "kiwi", "pomme"]
liste = sorted(listeFruit)
print(liste)

Chapitre 2 Cours Programmation Python 31


Autres opérations sur les listes
 Vérifier l’appartenance à une liste utilisant l’opérateur (in) et (not in)
liste = [1,2,30,50,90]
print(90 in liste)
print(50 not in liste)

 Trouver le min ou le max d’une liste utilisant les fonctions min et max.
liste = [1,2,30,50,90]
print(min(liste))
print(max(liste))

 Calculer la somme des éléments d’une liste utilisant la fonction sum


liste = [1,2,30,50,90]
print(sum(liste))

 Supprimer un élément d’une liste utilisant la fonction del


liste = [1,2,30,50,90]
del liste[2]
print(liste)
Chapitre 2 Cours Programmation Python 32
Autres opérations sur les listes (suite)
 Pour convertir une liste de mots vers une chaîne utilisant la fonction join
Syntaxe : [Link](L)
Convertit la liste L en une chaîne de caractères en ajoutant un séparateur sep entre chaque
élément.
NB. les éléments de la liste L doivent être des chaînes de caractères

liste = ['Bonjour', 'à', 'tous']


chaine = " ".join(liste)
print(chaine)

liste = ['Bonjour', 'à', 'tous']


chaine = "_".join(liste)
print(chaine)

Chapitre 2 Cours Programmation Python 33


Autres opérations sur les listes (suite)
 Pour énumérer les éléments d’une liste, on utilise des boucles (for, while).

listeFruit = ["banane", "kiwi", "pomme", "orange", "fraise"]


for f in listeFruit:
print(f)

Utilisez la boucle while pour


énumérer les éléments de la
liste listeFruit

Chapitre 2 Cours Programmation Python 34


Autres opérations sur les listes (suite)
 Pour énumérer les éléments d’une liste, avec imbrication de boucles for
liste1 = [2, 'c', 'Salut']
listes = [liste1, 'Bon', [3,4]]

Nombre d’éléments dans listes : len(listes) = ?

Ecrire un code python afin


d’avoir ce résultat :

Chapitre 2 Cours Programmation Python 35


Listes en Compréhension
Les listes en compréhensions sont des moyens concis pour créer des listes
à partir d'autres listes.
La syntaxe générale est : optionnel

[<expression de transformateur> for <var_boucle> in <séquence> if <condition> ]

Exemple 1 :
liste = [2, 4, 6]
liste = [2, 4, 6] newlist = []
newlist = [x*2 for x in liste] for x in liste:
print("New list : ", newlist) [Link](x*2)
print("New list : ", newlist)

Exemple 2 :
carres_pairs = [x**2 for x in range(10) if x % 2 == 0]
print(carres_pairs)

Chapitre 2 Cours Programmation Python 36


Listes en Compréhension (suite)
Activité 1 :
Utilisez une liste en compréhension pour obtenir la liste
['ad', 'ae', 'bd', 'be','cd', 'ce'] à partir des chaînes "abc" et "de".

Activité 2 :
Utilisez une liste en compréhension pour obtenir la liste
['aa', 'aaa', 'bb', 'bbb', 'cc', 'ccc', 'dd', 'ddd', 'ee', 'eee'] à partir de la
chaîne "abcde"

Activité 3 :
Écrivez un code Python qui génère une liste liste de trois nombres aléatoires entre 1 et
9, avec un pas de 2. Fournissez deux approches distinctes pour atteindre ce résultat :
l'une en utilisant une compréhension de liste et l'autre en utilisant une boucle for.

Chapitre 2 Cours Programmation Python 37


Listes & Valeurs aléatoires (suite)
 [Link](seq, k)
Générer un échantillon aléatoire de k éléments à partir d'une séquence seq (comme
une liste) sans répétition.
from random import *

liste2 = sample(range(20),5)
print("Liste2 = ", liste2)
liste3 = sample([20,53,66,98,45,34],3)
print("Liste3 = ", liste3)

 [Link](seq)
Mélanger de manière aléatoire les éléments d'une séquence seq telle qu'une liste.

liste4 = ['a','AA', 5.5, True, 6]


shuffle(liste4)
print("Liste4 après mélange = ", liste4)
Chapitre 2 Cours Programmation Python 38
Les tuples en python

Chapitre 2 Cours Programmation Python 39


Les Séquences (suite)

Les conteneurs

Non Mutables Mutables

Ordonnés Ordonnés Non Ordonnés

 Listes  Dictionnaire
 Chaînes
 Ensemble
 Tuples

Chapitre 2 Cours Programmation Python 40


Les tuples
 Un tuple sous Python est une collection ordonnée et non modifiable d’éléments
éventuellement hétérogènes.
 Un tuple est représentée entre parenthèse ( ), et ses éléments sont séparés par des
virgules.
 Le type des tuples en Python est tuple.

t = 9,3.2,'c',[1,2,5]
print(type(t))
print(t)

 Création d’un tuple vide


t_vide = tuple() Ou bien t_vide = ()

 Création d’un tuple avec un seul élément


t1 = 'salut',
print('tuple avec %d seul élément!'%len(t1))
Chapitre 2 Cours Programmation Python 41
Accès & opérations sur les tuples
t = (9, 3.2, 'c', [1,2,5])
Accès au 1er élément ?

Accès au dernier élément ?

Concaténation de tuples?
Ajout de (0,1,10) à t

Comparaison de tuples?

Multiplication de tuple par un


entier?
Chapitre 2 Cours Programmation Python 42
Accès & opérations sur les tuples (suite)
t = (9,3.2,'c',[1,2,5])
Les tuples ne sont pas modifiables !
t[1] = 3

Mais un objet modifiable dans un tuple peut l'être!


t[-1][0] = 15
print(t)

Il est possible de migrer vers des listes

t = list(t)
t[1] = 3
[Link](25)
print(t)
Chapitre 2 Cours Programmation Python 43
Accès & opérations sur les tuples (suite)
Méthode Description
[Link](value) Renvoie le nombre d'occurrences de la valeur spécifiée value dans le tuple t.
[Link](value) Renvoie l'indice de la première occurrence de value dans le tuple t.
t = (1, 2, 2, 3, 4, 2)
print(len(t)) # 6

count_2 = [Link](2)
print(count_2) # 3

i3 = [Link](3)
print(i3) # 3 (l'indice de 3 dans le tuple)

print(max(t)) # 4
print(min(t)) # 1

Chapitre 2 Cours Programmation Python 44


Parcourir des tuples
t = ('PP', 'pour', 1, 'G', 'I')
for i in t:
print(i, end='')

 L’utilisation de la fonction enumerate dans un tuple associe des indices aux éléments
du tuple pour une itération numérotée. (de même pour les autres séquences)

Syntaxe : enumerate(iterable, start=0) start : spécifie à partir de quelle valeur


l'énumération doit commencer
for i, e in enumerate(t):
print("indice {} : élément = {}".format(i,e))

Essayer enumerate avec


des chaines et des listes 

Chapitre 2 Cours Programmation Python 45


Empaquetage & Dépaquetage
1. Empaquetage (Packing) :
Lorsqu'on définit une variable avec plusieurs valeurs séparées par des virgules, ces valeurs sont
automatiquement empaquetées dans un tuple.

t = 1, 2, 3

2. Dépaquetage (Unpacking) :
Le dépaquetage est le processus inverse de l'empaquetage. Il consiste à extraire les valeurs
individuelles d'un tuple, et les attribuer à des variables distinctes.

a, b, c = t
print("a = {}, b = {}, c = {}".format(a,b,c))

Chapitre 2 Cours Programmation Python 46


*var & _
1. *var : dépaquetage étendu
convertit les éléments restants du tuple en une liste.
t = 5,6,7,8 *b = t
a,*b,c=t print(b)
print(a,b,c, sep=' ') # 5 [6, 7] 8
a,b = t
*b,c=t print(a,b)
print(b,c, sep =' ') # [5, 6, 7] 8
*a, = t
print(a) # [5, 6, 7, 8]

2. _ : Ignorer une valeur :


utilisé comme un nom de variable jetable  vous ignorez délibérément cette valeur.
Si un tuple contient des éléments dont on n’a pas besoin.
t = 5,6,7,8
a,_,c,_ = t

print(a,c) # 5 7
Chapitre 2 Cours Programmation Python 47
Les Séquences
Les types prédéfinis de séquences Python (chaîne, liste et tuple) ont
en commun les opérations résumées dans le tableau suivant
où s et t désignent deux séquences du même type et i, j et k des
entiers :
l'opération son effet
s[i] retourne ième élément de s (à partir de 0)
s[i:j] tranche de s de i (inclus) à j (exclu)
s[i:j:k] tranche de s de i à j avec un pas de k
retourne la sous-séquence d’éléments de
s[:j] début jusqu’à l’élément d’indice j exclu
retourne la sous-séquence d’éléments de
s[i:] l’indice i inclus jusqu’à la fin
s[:] retourne toute la séquence

Chapitre 2 Cours Programmation Python 48


Les Séquences

Opérations en commun entre les séquences (suite)


l'opération son effet
x in s True si s contient x, False sinon
x not in s True si s ne contient pas x, False sinon
s + t concaténation de s et t
s * n, n * s n copies (superficielles) concaténées de s
len(s) longueur de s
max(s), min(s) plus grand, plus petit élément de s
[Link](i) indice de la 1re occurrence de i dans s
[Link](i) nombre d'occurrences de i dans s

Chapitre 2 Cours Programmation Python 49


Les ensembles en python

Chapitre 2 Cours Programmation Python 50


Cours Informatique – 1ère année GI

Chapitre 2 : Les conteneurs sous python


 Introduction
 Les types sous python
 Conteneur : définition
 Les séquences
 Les chaînes de caractères
 Les listes
 Les tuples

 Les ensembles
 Les dictionnaires

Chapitre 2 Cours Programmation Python


Les ensembles
 Un ensemble est une collection non ordonnée et mutable d’objets uniques (sans
duplication) de différents types.
 Les ensembles sont des structures non indexées.

Les conteneurs

Non Mutables Mutables

Ordonnés Ordonnés Non Ordonnés


 Chaînes  Listes  Dictionnaire
 Tuples  Ensemble

Chapitre 2 Cours Programmation Python 52


Les ensembles
 Les éléments d’un ensemble sont séparés par des virgules et entre deux accolades { }.
 Le type des ensembles en Python est set.

e={9,8,7,'B','B',True,'AB',5,7,7,8}
print(type(e))
print("e = ",e)
print("Nbre élément de e = ",len(e)) # pas de duplication !

e1=set([1,2,3,'k','j',2,2,'L','A',3,3,2,6])
print("e1 = ",e1) # e1 = {1, 2, 3, 'A', 6, 'k', 'j', 'L'}
e2=set("Bonjour!")
print("e2 = ",e2) # e2 = {'u', 'B', 'o', 'n', '!', 'r', 'j'}
e3=set(range(5))
print("e3 = ",e3) # e3 = {0, 1, 2, 3, 4}

Chapitre 2 Cours Programmation Python 53


Les ensembles (suite)

e_vide = set()
Un ensemble vide se définit par set() et non pas par {}
print(e_vide) #set()

e4={'A',(20,"B", "B"),(1,2)}
print("e4 = ",e4) # e4 = {(1, 2), 'A', (20, 'B', 'B')}

e5={'A',[20,"B","B"],[1,2]}
print("e5 = ",e5) #TypeError: unhashable type: 'list'
e6={'A',{20,"B","B"},{1,2}}
print("e6 = ", e6) #TypeError: unhashable type: 'set'

e7 = {x**2 for x in range(1, 6)}


print("e7 = ",e7) #e7 = {1, 4, 9, 16, 25}
Chapitre 2 Cours Programmation Python 54
Opérations sur les ensembles
 Ajout d'éléments : utilisant la méthode add()
e = {1, 2, 3} [Link](3)
[Link](4)
print("e = ", e) # e = {1, 2, 3, 4}
print("e = ", e) #?
 Suppression d'éléments : utilisant la méthode remove() , pop()
[Link](3) [Link]() #renvoie le 1er élément de e (1), et le supprime
print(e) #{1, 2, 4} print("New_e = ", e) # New_e = {2, 3, 4}

 Vérification d'appartenance : utilisant l'opérateur in ou not in


if 4 in e:
print("4 est dans l'ensemble e")

 Union d'ensembles : utilisant l'opérateur | ou la méthode union()


e = {1,2,4}
e1 = {"A",1,3,4,"B",1}
e | e1 #or [Link](e1) # résultat :{1, 2, 3, 4, 'A', 'B'}
Chapitre 2 Cours Programmation Python 55
Opérations sur les ensembles (suite)
 Copie d'un ensemble : utilisant la méthode copy()
e_copy = [Link]()
print("une copie de e : ", e_copy) #une copie de e : {1, 2, 4}

 Intersection d'ensembles : utilisant l'opérateur & ou la méthode intersection()


e & e1 #or [Link](e1) # résultat : {1, 4}

 Différence d'ensembles : utilisant l'opérateur - ou la méthode difference()


e - e1 #or [Link](e1) #ensemble des éléments de e qui ne sont pas dans e1
# résultat : {2}
e1 - e #ensemble des éléments de e1 qui ne sont pas dans e
# résultat : {'B', 3, 'A'}

 Éléments présents dans les ensembles : utilisant l'opérateur ^ ou la méthode


symmetric_difference()
print(e ^ e1) #ensemble des éléments qui sont soit dans e soit dans e1
# résultat : {2, 3, 'A', 'B'}
Chapitre 2 Cours Programmation Python 56
Opérations sur les ensembles (suite)
 Vérification de sous-ensemble : vérifier si un ensemble est un sous-ensemble d'un
autre en utilisant <= ou la méthode issubset()
e1 = set([9,10])
e2 = set([9,6,10])
print([Link](e2)) #True

 Vérification de super-ensemble : vérifier si un ensemble est un super-ensemble d'un


autre en utilisant >= ou la méthode issuperset()
print([Link](e1)) #True

 Egalité entre ensembles utilisant == ou !=


ensemble1 = {1, 2, 3}
ensemble2 = {3, 2, 1}
ensemble1 == ensemble2 # True
ensemble1 != {3, 1, 2} # False

Chapitre 2 Cours Programmation Python 57


Les dictionnaires en python

Chapitre 2 Cours Programmation Python 58


Cours Informatique – 1ère année GI

Chapitre 2 : Les conteneurs sous python


 Introduction
 Les types sous python
 Conteneur : définition
 Les séquences
 Les chaînes de caractères
 Les listes
 Les tuples

 Les ensembles
 Les dictionnaires
Chapitre 2 Cours Programmation Python
Les dictionnaires
Un dictionnaire (tableau associatif) est un type de données non ordonné
et mutable permettant de stocker des couples clé:valeur, avec un accès très rapide à la
valeur à partir de la clé.
La clé ne peut être présente qu’une seule fois dans le tableau.

Les conteneurs

Non Mutables Mutables

Ordonnés Ordonnés Non Ordonnés


 Chaînes  Listes  Dictionnaire
 Tuples  Ensemble
Chapitre 2 Cours Programmation Python 60
Les dictionnaires
 Un dictionnaire (Collection de couples clé : valeur) est représentée
entre accolades { }.
 Le type des dictionnaires en Python est dict.

d_voitures = {"Toyota":25000, "Honda":22000}


print(type(d_voitures)) #<class 'dict'>

print(len(d_voitures)) #2

d = {}
d = dict()

Chapitre 2 Cours Programmation Python 61


Méthodes prédéfinies d’un dictionnaire
Méthode Description
[Link](d2) Met à jour le dictionnaire d avec les paires clé-valeur du dictionnaire d2.

d_voitures = {"Toyota":25000, "Honda":22000}


d_voitures.update({"Chevrolet":28000,"Volkswagen":24000})
print(d_voitures) #{'Toyota': 25000, 'Honda': 22000, 'Chevrolet': 28000, 'Volkswagen': 24000}

 On peut ajouter des éléments (items) à un dictionnaire autrement :


d_voitures["Ford"] = 45000 ; print(d_voitures)
#{'Toyota': 25000, 'Honda': 22000, 'Chevrolet': 28000, 'Volkswagen': 24000, 'Ford': 45000}

 Si la clé existe dans le dictionnaire d, d[k] = val permet de modifier la valeur associée à la clé
k en la mettant à val
 Si la clé n'existe pas, cette opération ajoute la paire clé-valeur k:val au dictionnaire d.

 On peut modifier la valeur d’un élément existant


d_voitures["Ford"] = 55000 ; print(d_voitures)
#{'Toyota': 25000, 'Honda': 22000, 'Chevrolet': 28000, 'Volkswagen': 24000, 'Ford': 55000}

Chapitre 2 Cours Programmation Python 62


Méthodes prédéfinies d’un dictionnaire (suite)
Méthode Description
[Link]() Renvoie un objet itérable représentant les clés du dictionnaire d.
[Link]() Renvoie objet itérable représentant les valeurs du dictionnaire d.
[Link]() Renvoie un objet itérable représentant les paires clé-valeur du dictionnaire d.
print(d_voitures.keys())
#dict_keys(['Toyota', 'Honda', 'Chevrolet', 'Volkswagen', 'Ford'])
print(d_voitures.values())
#dict_values([25000, 22000, 28000, 24000, 45000])
print(d_voitures.items())
#dict_items([('Toyota', 25000), ('Honda', 22000), ('Chevrolet', 28000), ('Volkswagen', 24000), ('Ford', 45000)])

 Autres opérations sur les dictionnaires


d = {"cat":100, "dog":50, "hamster":20}
print([Link]()) #dict_values([100, 50, 20]) print("chat" in d) #False
print(sorted([Link]())) #[20, 50, 100] print("bird" not in d) #True
sorted([Link]()) #['cat', 'dog', 'hamster']
Chapitre 2 Cours Programmation Python 63
Méthodes prédéfinies d’un dictionnaire (suite)
Méthode Description
Renvoie la valeur associée à la clé spécifiée, avec une option pour renvoyer une
[Link](clé, [val])
valeur par défaut val si la clé n'existe pas.
[Link](clé, [val]) Renvoie et supprime la valeur associée à la clé spécifiée, avec une option val
[Link]() Crée une copie superficielle du dictionnaire d.
[Link]() Supprime toutes les paires clé-valeur du dictionnaire d, le vidant complètement.
print(d_voitures.get("Ford")) #45000
print(d_voitures.get("Jeep","n'existe pas!!")) #n'existe pas!!

print(d_voitures.pop("Ford")) # renvoi 45000


print(d_voitures) # {'Toyota': 25000, 'Honda': 22000, 'Chevrolet': 28000, 'Volkswagen': 24000}

 Une autre méthode pour supprimer un item (clé:valeur) d’un dict utilisant la fonction del
del(d_voitures["Toyota"])
print(d_voitures) #{'Honda': 22000, 'Chevrolet': 28000, 'Volkswagen': 24000}

d_c = d_voitures.copy() ; print(d_c) #{'Honda': 22000, 'Chevrolet': 28000, 'Volkswagen': 24000}


d_voitures.clear() ; print(d_voitures) # {}
Chapitre 2 Cours Programmation Python 64
Parcours d’un dictionnaire
d = {'Honda': 22000, 'Chevrolet': 28000, 'Volkswagen': 24000}
for c,v in [Link]():
print("Le prix de la voiture {} est {}".format(c,v))

for i in [Link]():
print(i)

for c in d: Ou bien for c in [Link]():


print(c, end='::') print(c, end='::')

for v in [Link](): for c,v in [Link]():


print(v, end='--') print([c,v], end=" ")

Chapitre 2 Cours Programmation Python 65


Parcours d’un dictionnaire (suite)
Activité :
Créez un dictionnaire, freq, qui affiche chaque caractère d’une chaîne donnée ch comme clé et
sa fréquence comme valeur.

Exemple d’exécution :
Donner une chaine : Bon retour mes chers étudiants
{'B': 1, 'o': 2, 'n': 2, ' ': 4, 'r': 3, 'e': 3, 't': 3, 'u': 2, 'm': 1,
's': 3, 'c': 1, 'h': 1, 'é': 1, 'd': 1, 'i': 1, 'a': 1}

Chapitre 2 Cours Programmation Python 66


Fin Chapitre 2
A suivre…

Fatma Ben Said


[Link]@[Link]

Chapitre 2 Cours Programmation Python 67

Vous aimerez peut-être aussi