Aller au contenu
Technologie · Seconde · Les Données Structurées et leur Traitement · 2e Trimestre

Manipulation de listes et dictionnaires en Python

Les élèves apprennent à utiliser les structures de données fondamentales de Python pour organiser l'information.

Programmes OfficielsMEN: Lycee - Langages et programmationMEN: Lycee - Traitement des données

À propos de ce thème

Les listes et les dictionnaires sont les structures de données fondamentales de Python, et leur maîtrise est un prérequis pour tout traitement de données en SNT. Le programme de l'Éducation nationale attend des élèves de Seconde qu'ils sachent organiser l'information de manière structurée et choisir la représentation la plus adaptée à un problème donné.

Les élèves apprennent à créer, parcourir, filtrer et modifier des listes (collections ordonnées) et des dictionnaires (associations clé-valeur). Ils découvrent que le choix de la structure influence directement l'efficacité et la lisibilité du code. Un annuaire se représente naturellement en dictionnaire, une série de mesures en liste. Les exercices de conversion entre structures et la résolution de problèmes concrets (tri d'un palmarès, recherche dans un répertoire) permettent aux élèves de construire une intuition durable sur l'organisation des données, compétence transférable bien au-delà du cours de SNT.

Questions clés

  1. Comment choisir entre une liste et un dictionnaire pour organiser efficacement des données en Python ?
  2. En quoi la maîtrise des structures de données fondamentales facilite-t-elle la résolution de problèmes complexes ?
  3. Comment les algorithmes de tri et de recherche s'appliquent-ils concrètement aux listes et aux dictionnaires Python ?

Objectifs d'apprentissage

  • Comparer l'efficacité de l'utilisation d'une liste et d'un dictionnaire pour stocker et retrouver des informations spécifiques dans un annuaire téléphonique fictif.
  • Créer des scripts Python qui manipulent des listes et des dictionnaires pour organiser les données d'une collection de jeux vidéo (titre, genre, date de sortie).
  • Expliquer comment le choix entre une liste et un dictionnaire affecte la complexité algorithmique d'une recherche d'élément.
  • Analyser des exemples de code pour identifier les cas où une liste est préférable à un dictionnaire et vice-versa.
  • Démontrer l'application d'algorithmes de tri simples (par exemple, tri par insertion) sur une liste de notes d'élèves.

Avant de commencer

Introduction aux variables et types de données simples

Pourquoi : Les élèves doivent comprendre ce qu'est une variable et savoir manipuler des types de base comme les chaînes de caractères et les nombres pour pouvoir les stocker dans des listes et des dictionnaires.

Structures de contrôle : boucles `for` et conditions `if`

Pourquoi : La manipulation et le parcours des listes et des dictionnaires reposent fortement sur l'utilisation des boucles `for` et des conditions `if` pour filtrer ou traiter les éléments.

Vocabulaire clé

ListeUne collection ordonnée et modifiable d'éléments, accessible par un index numérique. Les éléments peuvent être de types différents.
DictionnaireUne collection non ordonnée et modifiable d'associations clé-valeur. Chaque clé est unique et permet d'accéder à sa valeur correspondante.
IndexUn nombre entier qui identifie la position d'un élément dans une liste, commençant généralement à 0.
CléUn identifiant unique dans un dictionnaire qui est associé à une valeur spécifique.
ValeurL'information associée à une clé dans un dictionnaire.
ItérationLe processus de parcours des éléments d'une structure de données, comme une liste ou un dictionnaire, un par un.

Attention à ces idées reçues

Idée reçue couranteLes listes et les dictionnaires sont interchangeables.

Ce qu'il faut enseigner à la place

Les listes sont ordonnées et indexées par position, les dictionnaires par clé unique. Chercher un élément par son nom dans une liste nécessite de parcourir tous les éléments, alors qu'un dictionnaire y accède directement. L'exercice de comparaison chronométrée rend cette différence de performance visible.

Idée reçue couranteUn dictionnaire Python fonctionne comme un dictionnaire de langue (trié par ordre alphabétique).

Ce qu'il faut enseigner à la place

En Python, un dictionnaire ne garantit pas d'ordre particulier (bien qu'il préserve l'ordre d'insertion depuis Python 3.7). L'association clé-valeur est le concept central, pas le tri. Manipuler des dictionnaires en atelier corrige rapidement cette confusion.

Idées d'apprentissage actif

Voir toutes les activités

Liens avec le monde réel

  • Les développeurs de jeux vidéo utilisent des dictionnaires pour stocker les caractéristiques des personnages (nom, points de vie, inventaire) et des listes pour gérer les séquences d'actions ou les niveaux du jeu.
  • Les bibliothécaires utilisent des systèmes informatisés qui s'appuient sur des structures de données similaires aux dictionnaires pour retrouver rapidement un livre par son titre ou son numéro ISBN, et sur des listes pour gérer les emprunts des adhérents.
  • Les sites de commerce électronique comme Amazon emploient des listes pour afficher les produits d'une catégorie et des dictionnaires pour stocker les détails de chaque produit (prix, description, disponibilité).

Idées d'évaluation

Vérification rapide

Présentez aux élèves deux scénarios : 1) Stocker les noms des élèves d'une classe et leurs notes associées. 2) Stocker une liste de courses. Demandez-leur d'écrire sur une feuille quelle structure (liste ou dictionnaire) ils utiliseraient pour chaque scénario et pourquoi.

Billet de sortie

Donnez aux élèves un petit dictionnaire représentant un profil utilisateur (nom, email, âge). Demandez-leur d'écrire le code Python pour afficher l'email de l'utilisateur et pour ajouter une nouvelle clé 'ville' avec une valeur correspondante.

Question de discussion

Posez la question suivante : 'Imaginez que vous devez trier une liste de 1000 mots par ordre alphabétique. Expliquez comment vous pourriez utiliser les connaissances sur les listes et les algorithmes de tri pour accomplir cette tâche efficacement.' Encouragez les élèves à partager leurs stratégies.

Questions fréquentes

Quelle est la différence entre une liste et un dictionnaire en Python ?
Une liste est une collection ordonnée d'éléments accessibles par leur position (index). Un dictionnaire associe des clés uniques à des valeurs, permettant un accès direct par nom. Le choix dépend de la nature des données : une série de mesures convient à une liste, un répertoire de contacts à un dictionnaire.
Comment parcourir un dictionnaire Python ?
On utilise une boucle for sur le dictionnaire pour parcourir les clés, ou sur .items() pour accéder simultanément aux clés et aux valeurs. Les méthodes .keys() et .values() permettent de parcourir séparément les clés ou les valeurs. Ces parcours sont à la base de tout traitement de données structurées en Python.
Comment l'apprentissage actif aide-t-il à maîtriser les structures de données ?
Construire un annuaire ou trier un palmarès avec de vraies données donne un objectif concret à la manipulation des listes et dictionnaires. Les analogies visuelles (liste de courses vs fiche recette) et les défis chronométrés transforment un concept abstrait en compétence pratique que les élèves retiennent.
Peut-on mettre un dictionnaire dans une liste en Python ?
Oui, et c'est même une pratique très courante. Une liste de dictionnaires permet de représenter un tableau de données où chaque dictionnaire est un enregistrement (une ligne). C'est la structure typique pour stocker les données lues depuis un fichier CSV avec le module csv.DictReader.

Modèles de planification pour Technologie