Bac NSI study materials
Bac NSI study resources

Bac NSI: Représentation des données : types construits

Bac NSI · Work through your exam, one topic at a time.

All guide sections

Représentation des données : types construits

Ce domaine concerne les structures qui regroupent plusieurs valeurs : listes, tuples, dictionnaires et ensembles. L'examen évalue la création, l'accès, la modification, le parcours et la comparaison de ces structures, ainsi que la compréhension de la mutabilité et du partage de références.

Règles et concepts

  • Une liste Python est ordonnée et mutable : on peut ajouter, retirer ou remplacer un élément. L'accès se fait par indice, de 0 à len(liste)-1.
  • Un tuple est ordonné et non mutable : après création, on ne peut pas remplacer un élément. Il peut contenir des objets mutables, mais le tuple lui-même ne change pas de structure.
  • Un dictionnaire associe des clés à des valeurs. Les clés doivent être hachables, donc immuables en pratique : chaînes, nombres ou tuples convenables, mais pas de liste comme clé.
  • Un ensemble stocke des éléments uniques et non ordonnés ; il sert aux tests d'appartenance et aux opérations d'union et d'intersection.
  • Une affectation ne copie pas une liste : elle partage la même référence. Pour une copie superficielle, on utilise liste[:] ou list(liste).

Exemple travaillé

Soit a = [1, 2] ; b = a ; b.append(3). Après exécution, a vaut [1, 2, 3], car a et b désignent la même liste. Si l'on écrit c = a[:] puis c.append(4), a reste [1, 2, 3] : c est une copie superficielle. Si la liste contenait elle-même une liste, la copie superficielle partagerait les sous-listes ; il faudrait une copie profonde pour les dupliquer aussi.

Pièges fréquents

Croire que b = a copie la liste ; confondre indice et valeur ; utiliser un indice hors bornes ; modifier un tuple ; prendre une liste comme clé de dictionnaire ; oublier qu'un dictionnaire n'a pas d'ordre garanti par indice ; confondre copie superficielle et copie profonde. Une erreur classique consiste aussi à parcourir une liste tout en la modifiant, ce qui décale les éléments.

À retenir

  • Liste : ordonnée, mutable, accès par indice.
  • Tuple : ordonné, non mutable.
  • Dictionnaire : clés uniques et hachables, valeurs associées.
  • Ensemble : éléments uniques, non ordonné.
  • b = a partage la référence ; a[:] copie la liste en surface.