Le quartierPY PythonPièce 4/7Intermédiaire

Listes, dictionnaires et tuples

Regrouper des valeurs avec les listes, les dictionnaires et les tuples, puis les transformer avec les compréhensions.

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

StructureSyntaxeModifiableQuand l'utiliser
Liste[1, 2]ouiUne suite d'éléments du même genre.
Tuple(1, 2)nonUn petit groupe fixe de valeurs liées.
Dictionnaire{"a": 1}ouiRetrouver 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"]}
Si une compréhension devient longue ou difficile à relire, reviens à une boucle 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 set supprime 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

Projet
Lignes de code
Niveau
Le quartier
Appartement
Python
Pièce
4/7
Plan n°
python/04.collections
Lignes de code · fiches rédigées à partir des documentations officielles, sources citées en bas de chaque page.