NSIpremiere spe

NSI · premiere speGratuit

Chapitre 2Représentation des données : types construits

L'essentiel en 30 secondes

Python propose trois types construits essentiels : les tableaux (list), les tuples (tuple) et les dictionnaires (dict). Les tableaux sont modifiables (mutables), les tuples non (immutables). Les dictionnaires associent des clés à des valeurs, avec un accès ultra-rapide. Savoir choisir le bon type selon le besoin est fondamental.

Notions clés

Tableau (list)
Collection ordonnée et mutable d'éléments. Accès par indice (commence à 0). Ex : [1, 2, 3].
Tuple
Collection ordonnée et immutable. Une fois créé, on ne peut ni ajouter ni modifier. Ex : (1, 2, 3).
Dictionnaire (dict)
Collection de paires clé: valeur, non ordonnée par indice. Accès par clé. Ex : {'nom': 'Alice', 'age': 17}.
Mutable / Immutable
Mutable = modifiable après création (list, dict). Immutable = non modifiable (tuple, str, int).
Compréhension de liste
Syntaxe compacte pour créer un tableau : [expr for x in iterable if condition].

Formules

Créer un tableau par compréhension

[x2forxinrange(10)]`[x**2 for x in range(10)]`

Condition : Produit [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Accès dictionnaire avec get()

d.get(cleˊ,valeurpardefaut)`d.get('clé', valeur_par_defaut)`

Condition : Évite une KeyError si la clé n'existe pas

Parcours d'un dictionnaire

forcle,valind.items():`for cle, val in d.items():`

Condition : items() renvoie les paires (clé, valeur)

Ajout dans un tableau

tab.append(element)`tab.append(element)`

Condition : Ajoute element à la fin du tableau. Complexité O(1) amorti.

Accès par clé dans un dictionnaire

d[cleˊ]`d['clé']`

Condition : Complexité O(1) en moyenne grâce au hachage

A retenir

  • Un tableau est mutable : t[0] = 5 modifie le tableau. Un tuple est immutable : toute tentative de modification lève une erreur.
  • L'accès par clé dans un dictionnaire est en O(1) en moyenne : c'est beaucoup plus rapide qu'une recherche dans un tableau.
  • Les clés d'un dictionnaire doivent être immutables (str, int, tuple) — jamais une liste.

Erreurs classiques

Erreur : Confondre indice et valeur : utiliser tab[valeur] au lieu de tab[indice]

Correction : L'indice est la position (0, 1, 2…), pas la valeur stockée. Pour chercher une valeur, utilise 'in' ou index().

Erreur : Modifier un tuple : t[0]=5t[0] = 5 \to TypeError

Correction : Un tuple est immutable. Si tu as besoin de modifier, utilise un tableau (list).

Erreur : Utiliser une liste comme clé de dictionnaire

Correction : Les clés doivent être immutables. Utilise un tuple à la place d'une liste si nécessaire.

Astuce méthode

Au DSDS, avant de coder, demandetoidemande-toi : Aije'Ai-je besoin de modifier les données ??' Si oui \to list ou dict. Si non \to tuple. Aije'Ai-je besoin d'un accès par nom/cleˊ?nom/clé ?' Si oui \to dict.