0% ont trouvé ce document utile (0 vote)
1 vues8 pages

Fiche Tuples and Set Python

Le document traite des tuples en Python, y compris leur définition, l'accès aux valeurs, la vérification de la présence d'éléments, le déballage de tuples, et le slicing. Il aborde également les ensembles (sets) et les dictionnaires (dict), en expliquant leurs opérations et méthodes, ainsi que des exercices pratiques pour manipuler ces structures de données. Enfin, il propose des travaux pratiques pour appliquer ces concepts à des cas concrets.

Transféré par

charbelzinsoucodja
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1 vues8 pages

Fiche Tuples and Set Python

Le document traite des tuples en Python, y compris leur définition, l'accès aux valeurs, la vérification de la présence d'éléments, le déballage de tuples, et le slicing. Il aborde également les ensembles (sets) et les dictionnaires (dict), en expliquant leurs opérations et méthodes, ainsi que des exercices pratiques pour manipuler ces structures de données. Enfin, il propose des travaux pratiques pour appliquer ces concepts à des cas concrets.

Transféré par

charbelzinsoucodja
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Définition de tuples ( elts )

Accéder aux valeurs d'un tuple


>>> data[1] # Le second

20

Vérifier la présence ou non d'une données dans le tuple


>>> is_present = 30 in l

Parcourir un tuple
Via indice ou index c-a-d len et while

FOR value in data

La notion de « tuple unpacking »


Le « tuple unpacking » (déballage de tuple, en français) consiste à sortir les valeurs stockées dans
un tuple dans un ensemble de variables nommées.

ATTENTION nombre égaux de valeurs à prendre en considération

>>> data = (10, 20, 30)


>>> a, b, c = data
>>> a
10
>>> b
20
>>> c
30
>>> a, b = data
Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ValueError: too many values to unpack (expected 2)

>>>

La notion de « slicing » data[indiceDebut :


indiceFin +1 ]
>>> data = (10, 20, 30, 40, 50)
>>> data[1:3]
(20, 30)
>>> data[1:4]
(20, 30, 40)
>>> data[1:5]
(20, 30, 40, 50)
Utilisation conjointe d'un tuple et d'un générateur

Compléments sur la manipulation de vos tuples

Quelques fonctions applicables aux tuples : count and index

Quelques méthodes de la classe tuple

Quelques opérateurs de la classe tuple

Travaux pratiques : Les énoncés


Exercice 1

A partir du tuple suivant comme base de travail, Il faut constitué de triplets d'informations associés à
des villes. La première information est le nom de la ville à visiter (dans l'exemple, des villages du sud
de la France ), la seconde information est la latitude du lieu et enfin on trouve la longitude. Il peut y
avoir un nombre quelconque de triplet.

data = (

"Andon", 43.77348, 6.78596,


"Caille", 43.77887, 6.72979,
"Séranon", 43.77435, 6.70415,
"Valderoure", 43.79629, 6.70749
# Vous ne devez pas présager du nombre de triplets.
)

A Faire

Extraire les données du tuple et produire l'affichage suivant :

+---------------+---------------+---------------+
| Ville | Latitude | Longitude |
+---------------+---------------+---------------+
| Andon | 43.77348 | 6.78596 |
| Caille | 43.77887 | 6.72979 |
| Séranon | 43.77435 | 6.70415 |
| Valderoure | 43.79629 | 6.70749 |
+---------------+---------------+---------------+

le chapitre sur le formatage des chaînes de caractères pourrait aussi vous être utile !

Exercice 2 :
vous devez produire le même affichage que dans l'exercice précédent, mais en utilisant le tuple de
tuples suivant comme données d'entrée.

data = (

("Andon", 43.77348, 6.78596),

("Caille", 43.77887, 6.72979),

("Séranon", 43.77435, 6.70415),

("Valderoure", 43.79629, 6.70749)

# Vous ne devez pas présager du nombre de triplets.

Un tuple de tuple
Présentation du type set ou les ensembles
mathématiques
dataSet = {liste des éléments} ensemble au sens
math
Opérations possibles sur vos sets : ajout de données, suppression de données,
recherche de données.

Opérations mathématiques : unions | , les intersections (l'opérateur &) , les


différences et différences symétriques d'ensembles (opérateur ^.).
Ce qui est remarquable, lors des affichages des sets, c'est que les données ne
se retrouvent pas dans l'ordre initial. Cela est dû au fait, que le type set
organisme à sa manière les données afin de pouvoir très rapidement savoir si
une donnée est déjà présente ou non dans le set

opérateur ^.

Instanciation d'un set

Vérifier la présence ou non d'une donnée dans un set


not in or in

Ajouter des valeurs dans un set (méthode add)


[Link](newValue)

Supprimer des valeurs d'un set (methode remove et clear() )


[Link](existingValue)

[Link]() efface tous les éléments de l’ensemble

Parcourir un set de données

Fonctions ou méthodes applicables aux sets


Quelques méthodes de la classe set

Vous vous en doutez, la classe set expose aussi de nombreuses méthodes bien utiles. En voici
quelques-unes : vous pouvez cliquer sur le nom de la méthode pour en obtenir un descriptif
plus détaillé.

Méthode Description

add Ajoute une nouvelle valeur au set courant.


Méthode Description

clear Supprime toutes les valeurs stockées dans le set.

Renvoie une copie « peu profonde » (shallow copy, en anglais)


copy
du set courant.

difference Calcule la différence de deux ensembles.

Supprime tous les éléments d'une autre collection dans le set


difference_update
courant.

discard Retire la valeur spécifiée du set courant.

intersection Calcule l'intersection de deux ensembles.

Permet de conserver dans un premier ensemble uniquement


intersection_update
les données qui sont présentes dans un second ensemble.

isdisjoint Indique si deux ensembles sont disjoints.

issubset Indique si un ensemble est disjoint d'un autre.

issuperset Indique si un ensemble contient un autre ensemble.

pop Extrait la première valeur du set et la retourne.

Retire la valeur spécifiée du set courant ou déclenche une


remove
erreur si cette valeur n'existe pas.

symmetric_difference Calcule la différence symétrique de deux ensembles.

Calcule la différence symétrique de deux ensembles et stocke


symmetric_difference_update
ce résultat dans le set courant.

union Réalise l'union (la fusion) de deux sets.

update Ajoute au set courant les valeurs du set passé en paramètre.

Quelques opérateurs de la classe set

De nombreux autres opérateurs sont aussi proposés par la classe set. On retrouve bien
entendu les opérateurs d'union |, d'intersection &, de différence - et de différence symétrique
^, l'opérateur in et l'opérateur not in.

Travaux pratiques: énoncés

Exercice 1 :
Considérons la liste de chaînes de caractères suivante :
names = ["Jean", "Alphonse", "Gilbert", "Bruno", "Jacques",
"Jean", "Kevin", "Guido", "Bruno", "Frank"]

Construire une seconde liste sans doublons et triée par ordre alphabétique.

Exercice 2 :

Considérons la structure de données ci-dessous :


names = [
("Anakin", "Skywalker"),
("Luke", "Skywalker"),
("Leia", "Skywalker"),
("Obi-Wan", "Kenobi"),
("Han", "Solo"),
("Ben", "Solo")
]
Afficher la liste ordonnée des noms de famille présents, sans
doublons, bien entendu.
Manipulation de dictionnaires

Principe : (key : value)

Présentation du type dict


Instanciation d'un dictionnaire
empty_dict = {} comme un ensemble à la place des valeurs, il faut
définir des paires de valeurs
(key,value) key :value

NOTE : dans certains autres langages de programmation, C++ ou Java par exemple,
on parle de « hashtable » ou encore de « map

Instanciation d'un dictionnaire


>>> months = {"janvier": 31, "février": 28, "mars":
31, "avril": 30}
>>> len(months)
4
>>> months["mars"]
31
>>> months["truc"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'truc'
>>>
NOTE :

Une autre possibilité pour accéder à une donnée d'un dictionnaire consiste à
utiliser la méthode a_dict.get(key). La différence avec l'opérateur [], vu
dans l'exemple précédent, c'est qu'en cas de clé non existante, la valeur
None vous sera retournée plutôt qu'une exception. En voici un exemple.

Vérifier la présence ou non d'une association dans un dictionnaire

Utilisation de l'opérateur not in ou bien

In

[Link]()
>>> months = {"janvier": 31, "février": 28, "mars": 31,
"avril": 30}
# Ici on teste une clé et non une valeur.
s>>> 31 in months
False
>>> 31 in [Link]()
True
>>> 32 in [Link]()
False
>>>

Ajouter des valeurs dans un dictionnaire


from datetime import date
tasks = {
... date(2022, 3, 26): ["Apprendre Python", "Manger", "Dormir"],
... date(2022, 3, 27): ["Poursuivre l'apprentissage de Python",
"..."]
... }
# Ajout d'une nouvelle liste dans le dictionnaire
tasks[date(2022, 3, 28)] = ["Se reposer un peu", "Dormir"]
# On accède à cette nouvelle donnée
for task in tasks[date(2022, 3, 28)]:
... print(task)
...
Se reposer un peu
Dormir
>>>

TP

Exercice 1 : écrire un programme qui permet de saisir (dans une boucle) des noms de mois en
anglais. A chaque saisie, il vous est demandé de retrouver dans un dictionnaire le nombre de jours
associé au mois et de l'afficher (pour le mois de février, on reverra 28). Si l'utilisateur saisi exit, le
programme doit s'arrêter.

Exercice 2 : reprendre le programme précédent et permettre aussi la saisir des noms de mois en
français. Pour ce faire, vous devrez utiliser un second dictionnaire pour gérer la traduction des mois
en français vers les mois en anglais.

Vous aimerez peut-être aussi