Machine Translated by Google
Université de Constantin 3 Salah Boubnider
Faculté de génie des procédés
Département de génie des procédés
PROGRAMMATION PYTHON AVANCÉE
COURS
CHAPITRE 5 : STRUCTURES DE DONNÉES EN PYTHON.
DEUXIÈME PARTIE : ENSEMBLES ET TUPLES EN PYTHON
CRÉÉ PAR : HALIMA MAHIDEB
1
Machine Translated by Google
PLAN DE COURS
5.1 Introduction aux structures de données
5.2 Listes en Python
5.2 Dictionnaires en Python
5.4 ensembles en Python
5.5 Tuples en Python
5.6 résumé
2
Machine Translated by Google
ENSEMBLES EN PYTHON
• 5.4.1 DÉFINITION D'UN ENSEMBLE
• 5.4.2 CARACTÉRISTIQUES CLÉS D'UN ENSEMBLE
• 5.2.3 CRÉATION D'ENSEMBLES EN PYTHON
• 5.2.4 ACCÈS AUX ÉLÉMENTS DE L'ENSEMBLE
• 5.4.5 AJOUT ET SUPPRESSION D'ÉLÉMENTS D'ENSEMBLE
• 5.4.6 ENSEMBLES OPÉRATEUR
• 5.2.7 MÉTHODES D'ENSEMBLE
• 5.2.8 EXERCICES PRATIQUES
3
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.4 Ensembles en Python
5.4.1 Définition d'un ensemble
Pourquoi utilisonsnous des ensembles ?
En Python, un ensemble est une collection d'éléments uniques. Les ensembles sont utiles lorsque :
C'est:
Non ordonnés → les éléments n'ont pas d'index.
•Vous souhaitez supprimer les doublons d'une liste.
Éléments non modifiables → les éléments euxmêmes doivent être immuables
(int, float, string, tuple…). •Vous avez besoin de tests d'appartenance rapides (x dans un ensemble est plus rapide que dans
Modifiable en tant que conteneur → vous pouvez ajouter, supprimer et mettre à jour
une liste).
l'ensemble.
Pas de doublons → les valeurs répétées sont automatiquement supprimées.
•Vous manipulez des opérations mathématiques : union, intersection,
différence.
Exemple:
• L'ordre des éléments n'est pas important.
mon_ensemble = {1, 2, 3, 3}
print(my_set) # {1, 2, 3}
4
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.4 Ensembles en Python
5.4.2 Caractéristiques clés d'un ensemble
Propriété Signification Exemple
Aucune position fixe ; l’indexation est
Non ordonné s[0]
impossible.
Unique Les doublons sont supprimés {1,1,2} → {1,2}
Conteneur modifiable Vous pouvez ajouter/supprimer des éléments [Link](5)
Éléments immuables Les éléments doivent être hachables ne peut pas stocker de listes
Éléments valides :
•int, float
•chaîne
•tuple
Invalide:
s = { [1,2], 3 } # liste non autorisée
5
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.4 Ensembles en Python
5.4.3 Création d'ensembles en Python
Utilisation du constructeur Set
Ensemble de base : Utilisation des accolades {} Utile lors de la conversion à partir de listes ou de tuples :
s = set([1, 2, 3, 3, 4]) print(s)
s = {10, 20, 30}
Résultat :
Ensemble vide : {1, 2, 3, 4}
Parfois, vous avez besoin d'un ensemble vide à remplir
ultérieurement : s = set()
Pas ceci : 5.4.4. Accès aux éléments de l'ensemble
s = {} # Ceci crée un dictionnaire !
Vous ne pouvez pas utiliser
l'indexation : s = {1, 2, 3}
s[0] # ERREUR
Mais vous pouvez
boucler : pour chaque
élément dans s : imprimer(élément)
6
Chapitre 5 : Structures de données en Python 5.4 Ensembles en Python
Machine Translated by Google
5.4.5 Ajout et suppression d'éléments
add() Ajoute un seul élément : 5.4.6. Opérations sur les ensembles
s = {1, 2} Python prend en charge :
[Link](3)
Union de tous les éléments des deux ensembles :
update() Ajoute plusieurs éléments (à partir d'une liste, d'un tuple, d'un ensemble) :
[Link]([4, 5], {6, 7}) A = {1, 2, 3}
B = {3, 4, 5}
La fonction remove() supprime un élément, mais génère une erreur si celuici n'existe pas :
imprimer(A | B) # {1,2,3,4,5}
imprimer([Link](B))
s = {1, 2, 3}
[Link](2)
Éléments communs à l'intersection :
[Link](5) # Erreur de clé
print(A & B) # {3}
print(A. intersection(B))
discard() Supprime un élément sans erreur :
[Link](5) # Aucune erreur
Éléments différents présents dans A mais absents de B :
pop() Supprime et renvoie un élément aléatoire (car les ensembles sont print(A B) # {1,2}
(non ordonné) : print([Link](B))
valeur = [Link]()
clear() Supprime tous les éléments : Éléments de différence symétriques présents dans l'un ou l'autre ensemble, mais pas dans les deux :
^
[Link]() B) # {1,2,4,5}
imprimer(A imprimer([Link]érence_symétrique(B))
7
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.4 Ensembles en Python
5.4.7 Autres méthodes d'ensemble utiles
Méthode Description Exemple
copie() copie de l'ensemble s2 = [Link]()
est disjoint() aucun élément commun [Link](B)
issubset() A B [Link](B)
issuperset() A B [Link](B)
8
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.4 Ensembles en Python
5.4.8 Exemples pratiques
1. Supprimer les doublons d'une liste
nombres = [1,2,2,3,3,3,4] nombres_uniques =
liste(ensemble(nombres)) print(nombres_uniques)
2. Vérifier si deux listes partagent des éléments
si set(list1) & set(list2) :
print("Ils ont des éléments communs")
3. Filtrer les réponses valides
autorisées = {"oui", "non", "peutêtre"} réponse = input("Entrez
la réponse : ")
si la réponse est autorisée : afficher("Valide")
autre:
print("Invalide")
9
Machine Translated by Google
TUPLES PYTHON
• 5.5.1 DÉFINITION D'UN TUPLE
• 5.5.2. CARACTÉRISTIQUES DES TUPLES
• 5.5.2 CRÉATION D'UN TUPLE EN PYTHON
• 5.5.3 ACCÈS À UN ÉLÉMENT DE TUPLE
• 5.5.4 OPÉRATEURS DE TUPLES
• 5.5.5 MÉTHODES DE TUPLES
• 5.5.6. DÉBALLAGE DE TUPLES
• 5.3.8 TUPLE IMBRIQUÉ
• 5.3.9 EXERCICES PRATIQUES
10
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.5 Tuples en Python
5.5.1 Définition d'un tuple
Qu'estce qu'un tuple ?
Un tuple est une collection d'éléments en Python qui présente les
caractéristiques suivantes : • Ordonnée → chaque élément occupe
Pourquoi utiliser des tuples ?
une position fixe. • Immuable → ne peut être modifiée après sa création.
• Autorise les doublons → une même valeur peut apparaître plusieurs fois. • Peut stocker
Les tuples sont utiles lorsque :
différents types de données → entiers, chaînes de caractères, nombres à virgule flottante,
listes, tuples…
Vous souhaitez des données qui ne doivent pas changer. Vous
souhaitez un code plus rapide (les tuples sont plus rapides que les listes). Vous
Exemple :
devez les utiliser comme clés dans des dictionnaires (les listes ne peuvent pas être utilisées comme clés).
my_tuple = (10, "pomme", 3.14)
utilisé).
Vous souhaitez renvoyer plusieurs valeurs à partir de fonctions.
11
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.5 Tuples en Python
5.5.2. Caractéristiques des tuples
Propriété Signification Exemple
Ordonné Les objets conservent leur position t[0], t[1]
Impossible d'ajouter, de supprimer ou de modifier des
Immuable impossible de faire t[0] = 5
éléments
Autoriser les doublons Les valeurs répétées sont conservées (1,1,2)
Hétérogène Magasins de types variés (1, "Ali", 3.5)
Plus rapide que les listes Les tuples utilisent moins de mémoire avantage de vitesse
12
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.5 Tuples en Python
5.5.3 Création de tuples
1. Utilisation de parenthèses (la plus courante) t
= (1, 2, 3)
2. Sans parenthèses (empilement de tuples) t = 1,
2, 3
3. Tuple vide t = ()
4. Tuple avec un seul élément
Il faut inclure une virgule : t
= (5,) # correct # incorrect → pas un
tuple, juste un entier t = (5)
5. Utilisation du constructeur tuple()
Conversion d'autres types de
données : t = tuple([1, 2, 3])
13
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.5 Tuples en Python
5.5.4. Accès aux éléments du tuple
5.5.5. Opérations sur les tuples
Les tuples prennent en charge l'indexation comme les listes.
1. Concaténation a =
1. Indexation positive (1, 2) b = (3, 4) c =
t = ("rouge", "bleu", "vert") print(t[0]) # rouge a+b
print(t[2]) # vert
2. Répétition
2. Indexation négative t = (1, 2) print(t
print(t[1]) # vert print(t[3]) # rouge * 3) # (1,2,1,2,1,2)
3. Test d'appartenance
3. print(3 dans (1,2,3)) # Vrai
Découpage de t =
(1,2,3,4,5) print(t[1:4]) # (2,3,4) print(t[:3])
# (1,2,3) print(t[::2]) # (1,3,5)
14
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.5 Tuples en Python
5.5.6. Méthodes de tuple 5.5.7. Déballage de tuples
Les tuples ne possèdent que deux méthodes intégrées : Vous pouvez extraire les éléments d'un tuple dans des variables.
compter() 1. Déballage de base :
Compte le nombre d'occurrences d'un élément. t = personne = (« Ali », 25, « Ingénieur ») nom, âge, profession
(1, 2, 2, 3) print([Link](2)) # 2 = personne
2. Utilisation de * pour collecter
indice() les nombres d'éléments = (1,2,3,4,5) x,
Renvoie l'indice de la première occurrence. y, *reste = nombres
print([Link](3)) # 3
5.5.8. Tuples imbriqués Un
tuple peut contenir d'autres tuples. t = (1,
(2, 3), (4, 5, 6)) print(t[1][0]) # 2
15
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.5 Tuples en Python
5.5.9. Exemples pratiques
Exemple 1 : Conversion d’une liste en tuple l =
[1,2,3] t = tuple(l)
Exemple 2 : Parcourir un tuple couleurs =
("rouge", "bleu", "vert") pour c dans couleurs : afficher(c)
Exemple 3 : Vérification des doublons t =
(1,2,2,3,4,4,4) print([Link](4)) # 3
16
Machine Translated by Google
Chapitre 5 : Structures de données en Python 5.6 (résumé)
Résumé des structures de données Python
Python propose plusieurs structures de données intégrées. Chacune possède son propre comportement, ses avantages et ses cas d'utilisation.
Tableau comparatif
Fonctionnalité Liste Tuple Ensemble
Dictionnaire
Ordonné Oui Oui Non Ordre d'insertion
Mutable Oui Non Oui Oui
Doublons Autorisé Autorisé Interdit Clés : , Valeurs:
Indexé Oui Oui Non Par clé
Vitesse Moyen Rapide Recherche rapide Recherche rapide
Clévaleur Non Non Non Oui
Lorsque vous avez
Lorsque vous avez besoin besoin d'articles uniques , Lorsque vous devez stocker
Lorsque vous avez besoin
d'une collection ordonnée, d'une collection ordonnée sans doublons . des données sous forme de paires
modulable et dynamique . Idéal pour une utilisation rapide
clévaleur .
Cas d'utilisation ne doit pas changer.
Idéal pour ranger des objets vérifications d'adhésion, Idéal pour les données
Idéal pour les données fixes ou
Là où l'ordre compte suppression des doublons structurées où chaque élément
disques.
et les articles peuvent changer. et calculs mathématiques possède une étiquette.
opérations.
17
Machine Translated by Google