On sait manipuler des valeurs isolées. Cette séance regroupe plusieurs valeurs dans une même structure : listes, tuples, dictionnaires, ensembles, puis les compréhensions. Exécutez chaque cellule avec Maj + Entrée. Les cellules À vous sont à compléter.
1. Les listes
Une liste est une collection ordonnée et modifiable de valeurs, écrite entre crochets [ ]. On y accède par position, exactement comme pour les chaînes : l’indice commence à 0, et -1 désigne le dernier.
À vous. Créez une liste prenoms contenant trois prénoms, puis affichez le premier et le dernier.
# À vous : créez prenoms (trois prénoms), puis affichez le premier [0] et le dernier [-1]
Contrairement à une chaîne, une liste est modifiable : on peut remplacer un élément, en ajouter à la fin avec .append(), ou en insérer à une position avec .insert().
À vous. Créez une liste notes de quatre nombres, triez-la avec .sort(), puis affichez-la.
# À vous : créez notes (quatre nombres), triez avec .sort(), puis affichez notes
2. Les tuples
Un tuple est une collection ordonnée mais figée : une fois créé, on ne peut plus le modifier. On l’écrit entre parenthèses ( ). Il sert à représenter un groupe de valeurs qui vont ensemble (des coordonnées, par exemple).
À vous. Créez un tuple personne contenant un prénom et un âge, puis déballez-le dans deux variables prenom et age que vous afficherez.
# À vous : créez le tuple personne = (prenom, age), déballez-le dans prenom, age puis affichez-les
3. Les dictionnaires
Un dictionnaire associe des clés à des valeurs, entre accolades { }. On n’accède plus par position mais par clé. C’est la structure idéale pour décrire un objet par ses attributs.
Accéder à une clé absente provoque une erreur. La méthode .get(cle, defaut) renvoie une valeur par défaut au lieu de planter, et in teste la présence d’une clé.
Un ensemble (set) est une collection non ordonnée et sans doublons, écrite entre accolades { }. Il sert à éliminer les répétitions et à tester très vite l’appartenance. Comme l’ordre n’est pas garanti, on affiche son contenu trié avec sorted().
union : ['Dakar', 'Louga', 'Mbour', 'Thies']
intersection : ['Dakar', 'Louga']
À vous. À partir de la liste notes = [12, 15, 12, 18, 15], construisez un ensemble pour retirer les doublons, puis affichez son contenu trié avec sorted().
# À vous : construisez set(notes) pour retirer les doublons, puis affichez sorted(...)
5. Les compréhensions
Une compréhension de liste construit une liste de façon concise, en une ligne, à partir d’une autre collection. La forme est : [ expression for element in collection ]. (La boucle for complète est détaillée en Séance 3 ; ici, on l’utilise seulement dans cette écriture compacte.)
nombres = [1, 2, 3, 4]doubles = [n *2for n in nombres]print(doubles)
[2, 4, 6, 8]
À vous. Construisez la liste des carrés des nombres [1, 2, 3, 4, 5] avec une compréhension.
# À vous : carres = [ ... for n in [1, 2, 3, 4, 5] ], puis affichez carres
On peut filtrer en ajoutant une condition if à la fin : seuls les éléments qui la vérifient sont gardés.
villes = ["Dakar", "Saint-Louis", "Mbour", "Ziguinchor", "Louga"]longues = [v for v in villes iflen(v) >5]print(longues)
['Saint-Louis', 'Ziguinchor']
À vous. À partir de valeurs = [4, 9, 2, 7, 1, 8], gardez avec une compréhension uniquement les nombres supérieurs à 5.
# À vous : grands = [ v for v in [4, 9, 2, 7, 1, 8] if ... ], puis affichez grands
Récapitulatif
Structure
Syntaxe
Accès
Modifiable
Doublons
Liste
[ ]
par indice
oui
autorisés
Tuple
( )
par indice
non (figé)
autorisés
Dictionnaire
{cle: valeur}
par clé
oui
clés uniques
Ensemble
{ } / set()
sans indice
oui
interdits
Liste : collection ordonnée et modifiable ; .append, .insert, .remove, .pop, .sort (en place, renvoie None).
Tuple : comme une liste mais figé ; pratique pour un groupe de valeurs et le unpacking.