Aller au contenu

Fiche de révision - Représentation des données : types construits


  • Collection ordonnée et immuable (non modifiable)
  • Syntaxe : (a, b, c) ou a, b, c
  • Tuple d'un élément : (42,) (avec la virgule)

Opérations :

OpérationSyntaxe
Accès par indicet[0], t[-1]
Longueurlen(t)
Déballagex, y = (3, 7)
Appartenancex in t
Concaténationt1 + t2

Usage principal : renvoyer plusieurs valeurs depuis une fonction.

def division(a, b):
return (a // b, a % b)
q, r = division(17, 5) # q = 3, r = 2

P-uplet nommé : namedtuple permet un accès par nom (e.prenom) au lieu de l'indice.


  • Collection ordonnée et modifiable (mutable)
  • En NSI : éléments du même type
  • Syntaxe : [a, b, c]

Opérations courantes :

OpérationSyntaxe
Accès / modificationt[i], t[i] = x
Ajout à la fint.append(x)
Insertiont.insert(i, x)
Suppressiont.pop(), t.pop(i), t.remove(x)
Longueurlen(t)
Trit.sort() ou sorted(t)
Tranchet[1:3], t[:3], t[2:]

Parcours :

for element in tableau: # par élément (lecture)
for i in range(len(tableau)): # par indice (modification)
for i, x in enumerate(tableau): # indice + valeur

Compréhension de liste :

[expression for x in iterable] # construction
[expression for x in iterable if cond] # avec filtre

Exemples :

  • [x ** 2 for x in range(5)] → [0, 1, 4, 9, 16]
  • [x for x in t if x > 0] → les positifs de t

  • Un tableau de tableaux représente une grille 2D
  • Accès : matrice[ligne][colonne]
m = [[1, 2], [3, 4], [5, 6]]
m[0][1] # ligne 0, colonne 1 → 2

Création par compréhension :

zeros = [[0 for j in range(colonnes)] for i in range(lignes)]

  • Collection de paires clé : valeur
  • Accès par nom (la clé), pas par indice
  • Syntaxe : {"cle": valeur, ...}

Opérations courantes :

OpérationSyntaxe
Accèsd["cle"] ou d.get("cle", defaut)
Ajout / modificationd["cle"] = valeur
Suppressiondel d["cle"] ou d.pop("cle")
Test d'existence"cle" in d
Nombre d'entréeslen(d)

Parcours :

for cle in d: # clés
for valeur in d.values(): # valeurs
for cle, valeur in d.items(): # clés + valeurs

Compréhension : {k: v for k, v in ...}

Clés : doivent être immuables (str, int, tuple). Les listes et dictionnaires ne peuvent pas servir de clé.


SyntaxeCe que ça fait
b = aAlias (même objet, pas une copie)
b = list(a) ou b = a[:]Copie (nouveau tableau)
copy.deepcopy(a)Copie profonde (pour les matrices)

TupleTableau (list)Dictionnaire (dict)
Syntaxe()[]{}
OrdonnéOuiOuiNon
ModifiableNonOuiOui
Accès parIndiceIndiceClé
Types mélangésOuiNon (en NSI)Oui
UsageDonnées constantesCollectionsAssociations clé-valeur

TermeDéfinition rapide
p-uplet (tuple)Collection ordonnée et immuable
Tableau (list)Collection ordonnée et modifiable
Dictionnaire (dict)Collection de paires clé-valeur
ImmuableQui ne peut pas être modifié après création
MutableQui peut être modifié (ajout, suppression, modification)
IndicePosition d'un élément (commence à 0)
CléIdentifiant unique d'une entrée dans un dictionnaire
CompréhensionSyntaxe compacte pour construire un tableau ou dictionnaire
MatriceTableau de tableaux (grille 2D)
DéballageAffectation de chaque élément d'un tuple à une variable
AliasDeux variables qui pointent vers le même objet
Tranche (slice)Extraction d'une partie d'un tableau (t[i:j])