Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Bien ranger ses données

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

25 minutes

Le casier du lycée

Tu as un casier. Tu y mets ton sac, ta veste et tes livres. Le matin, tu veux ta veste tout de suite.

Si tout est en vrac, tu cherches longtemps. Si chaque chose a sa place, tu la prends en un geste.

Un programme fait pareil avec ses données. Bien les ranger, c’est le sujet de ce chapitre.

Mots-clés

MotCe que ça veut direExemple
Structure de donnéesUne façon de ranger des valeurs, avec les gestes qu’on a le droit de faire.Une liste, un dictionnaire
UsageCe qu’on veut faire des données.Retrouver un numéro de téléphone
OpérationUn geste sur la structure : ajouter, retirer, chercher.append
CléLe nom avec lequel on retrouve une valeur."Hugo"
PileUne structure où on retire le dernier arrivé.Une pile d’assiettes
FileUne structure où on retire le premier arrivé.La queue de la cantine

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

À toi : que choisirais-tu ?

À toi de jouer

À toi : que choisirais-tu ?

3 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

Une structure, ce sont des gestes

Ranger des valeurs ne suffit pas. Il faut dire quels gestes on peut faire.

Dans une liste, on lit la case 2. Dans une pile, on ne touche qu’au dessus. Dans un dictionnaire, on demande une clé.

On choisit la structure selon l’usage : ce qu’on fera le plus souvent.

À toi : chercher Hugo

Code: python
# Un annuaire rangé en liste : il faut regarder les cases une par une.
annuaire_liste = [["Lina", "0611"], ["Karim", "0622"], ["Zoé", "0633"], ["Hugo", "0644"]]

position = 0
regards = 1
while annuaire_liste[position][0] != "Hugo":
    position = position + 1
    regards = regards + 1
print("Liste : Hugo trouvé après", regards, "regards, numéro", annuaire_liste[position][1])

# Le même annuaire rangé en dictionnaire : on demande le nom, la réponse arrive.
annuaire_dico = {"Lina": "0611", "Karim": "0622", "Zoé": "0633", "Hugo": "0644"}
print("Dictionnaire : un seul regard, numéro", annuaire_dico["Hugo"])

# Change "Hugo" en "Lina" dans les deux. Que se passe-t-il pour le nombre de regards ?

Exemple travaillé : compter les regards

StructureChercheRegardsPourquoi
ListeLina1Elle est en case 0
ListeKarim2Il est en case 1
ListeHugo4Il est en case 3, le dernier
DictionnaireHugo1On donne la clé, on a la valeur
DictionnaireLina1Même geste pour tous

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Les six structures du chapitre

Dans ce chapitre, tu rencontres six façons de ranger.

La pile et la file gardent un ordre d’arrivée. La liste chaînée relie des maillons. Le dictionnaire retrouve par la clé.

L’arbre range en niveaux, comme les dossiers. Le graphe relie des points, comme un plan de métro.

À toi : une liste qui garde l’ordre

Code: python
# Une liste garde l'ordre dans lequel on a rangé les choses.
musiques = ["Titre A", "Titre B", "Titre C"]
musiques.append("Titre D")
print("Dans l'ordre :", musiques)
print("La deuxième musique :", musiques[1])

# Pour une file de cantine ou un historique, on veut aussi savoir
# qui est sorti en premier ou en dernier. C'est le sujet des leçons suivantes.
dernier = musiques.pop()
print("On a retiré :", dernier, "et il reste", musiques)

# Ajoute deux titres à la liste puis retire-en un. Qui est parti ?

Pas de structure parfaite

Astuce

Aucune structure n’est la meilleure pour tout. Chacune est rapide pour un geste et lente pour un autre. Tout l’art est de choisir.

La leçon continue

7 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.