Listes, dictionnaires et tuples
Ce que tu vas apprendre
- Stocker plusieurs valeurs dans une liste, un tuple ou un dictionnaire.
- Choisir la bonne structure selon le besoin.
- Fabriquer une nouvelle liste en une ligne avec une compréhension.
Les listes
Une liste est une suite ordonnée de valeurs, que l'on peut modifier. Elle s'écrit entre crochets.
ingredients = ["farine", "oeufs", "lait"]
print(ingredients[0])
print(ingredients[-1])
ingredients.append("sucre")
print(len(ingredients))
On compte à partir de 0 : ingredients[0] est « farine ». L'indice -1 désigne le dernier élément. append ajoute à la fin et len donne la taille, ici 4.
Autres méthodes courantes : remove("lait") retire une valeur, sort() trie la liste sur place. Une boucle for la parcourt :
for ingredient in ingredients:
print(f"- {ingredient}")
Extraire une tranche
Le slicing extrait une partie d'une liste avec [début:fin]. La fin est exclue.
print(ingredients[1:3])
print(ingredients[:2])
Résultat : ['oeufs', 'lait'] puis ['farine', 'oeufs']. Le slicing marche aussi sur le texte.
Les dictionnaires
Un dictionnaire associe des clés à des valeurs. Il s'écrit entre accolades, avec clé: valeur.
recette = {
"nom": "Crêpes",
"portions": 4,
"vegetarien": True,
}
print(recette["nom"])
recette["temps"] = 20
On lit une valeur avec sa clé entre crochets. Écrire une clé qui n'existe pas la crée. Pour éviter une erreur si la clé manque, utilise get :
print(recette.get("prix", "inconnu"))
Le deuxième argument est la valeur renvoyée par défaut. Résultat : inconnu.
Parcourir un dictionnaire
La méthode items() donne chaque couple clé et valeur.
for cle, valeur in recette.items():
print(f"{cle} : {valeur}")
keys() donne les clés seules et values() les valeurs seules. Pour tester la présence d'une clé : "nom" in recette.
Les tuples
Un tuple ressemble à une liste, mais il est immuable : on ne peut plus le modifier après sa création. Il s'écrit entre parenthèses.
position = (48.85, 2.35)
latitude, longitude = position
print(latitude)
La deuxième ligne déballe le tuple en deux variables. Utilise un tuple pour un petit groupe de valeurs liées qui ne change pas. Une fonction qui renvoie plusieurs valeurs renvoie en fait un tuple.
Choisir la bonne structure
| Structure | Syntaxe | Modifiable | Quand l'utiliser |
|---|---|---|---|
| Liste | [1, 2] | oui | Une suite d'éléments du même genre. |
| Tuple | (1, 2) | non | Un petit groupe fixe de valeurs liées. |
| Dictionnaire | {"a": 1} | oui | Retrouver une valeur par son nom. |
Ensemble (set) | {1, 2} | oui | Éliminer les doublons. |
print(set(["sel", "poivre", "sel"]))
L'ensemble garde chaque valeur une seule fois, sans ordre garanti.
Les compréhensions
Une compréhension de liste construit une nouvelle liste à partir d'une autre, en une seule expression.
prix = [3.5, 8, 12]
avec_taxe = [p * 1.1 for p in prix]
chers = [p for p in prix if p > 5]
print(chers)
Résultat : [8, 12]. La forme est [expression for élément in suite if condition], la condition étant facultative. Elle équivaut à une boucle for qui appelle append, en plus court.
Le même principe existe pour les dictionnaires :
longueurs = {nom: len(nom) for nom in ["riz", "pâtes"]}
for classique. La clarté passe avant la concision.À retenir
- Une liste
[]est ordonnée et modifiable ; on y accède par indice, à partir de 0. - Un dictionnaire
{}associe une clé à une valeur ;getévite l'erreur sur une clé absente. - Un tuple
()est immuable et se déballe en plusieurs variables. - Un ensemble
setsupprime les doublons. - Le slicing
[début:fin]extrait une partie, la fin étant exclue. - Une compréhension crée une liste ou un dictionnaire en une expression.
Pour aller plus loin
Sources officielles
Ensuite
Fonctions et modules
Écrire ses propres fonctions avec def et return, puis ranger et réutiliser son code grâce aux modules et à import.
Fichiers, exceptions et JSON
Lire et écrire des fichiers avec with open, gérer les erreurs avec try et except, et sauvegarder des données au format JSON.
- Projet
- Lignes de code
- Niveau
- Le quartier
- Appartement
- Python
- Pièce
- 4/7
- Plan n°
- python/04.collections