Représentation des données : types construits
L'essentiel en 30 secondes
Les notions à connaître
- Tableau (list)
- Collection ordonnée et mutable d'éléments. Accès par indice (commence à 0). Taille dynamique. Ex : [1, 2, 3]. Complexité : accès , append amorti .
- Tuple
- Collection ordonnée et immutable. Une fois créé, on ne peut ni ajouter, ni modifier, ni supprimer. Ex : (1, 2, 3). Peut servir de clé de dictionnaire car hashable.
- Dictionnaire (dict)
- Collection de paires clé:valeur. Accès par clé en moyen (table de hachage). Ordonné par insertion depuis Python 3.7. Ex : {'nom': 'Alice', 'age': 17}.
- Mutable / Immutable
- Mutable = modifiable après création (list, dict, set). Immutable = non modifiable (tuple, str, int, float, bool). L'immutabilité protège contre les effets de bord.
- Compréhension de liste
- Syntaxe compacte pour créer un tableau : [expr for x in iterable if condition]. Plus lisible et souvent plus rapide qu'une boucle for classique.
- Tableau à 2 dimensions (matrice)
- Liste de listes. Accès par double indice : matrice[ligne][colonne]. Création par compréhension : [[0]*cols for _ in range(lignes)].
- Set (ensemble)
- Collection non ordonnée sans doublons. Opérations ensemblistes : union (|), intersection (&), différence (-). Test d'appartenance en .
- Copie superficielle vs profonde
- Copie superficielle (list.copy() ou [:]) : copie la structure mais pas les objets imbriqués. Copie profonde (copy.deepcopy()) : copie récursivement tout.
Les erreurs à éviter en nsi
Confondre indice et valeur : utiliser tab[valeur] au lieu de tab[indice]
L'indice est la position (0, 1, 2…), pas la valeur stockée. Pour chercher une valeur, utilise 'in' ou index().
Modifier un tuple TypeError
Un tuple est immutable. Si tu as besoin de modifier, utilise un tableau (list).
Utiliser une liste comme clé de dictionnaire
Les clés doivent être immutables. Utilise un tuple à la place d'une liste.
Créer une matrice avec [[0]*n]*m
Cela crée m références à la MÊME liste. Utilise [[0]*n for _ in range(m)] pour avoir m listes indépendantes.
Modifier une liste passée en paramètre sans le vouloir
Les listes sont passées par référence. Fais une copie avec tab[:] ou list(tab) si tu ne veux pas modifier l'original.
Sais-tu répondre à ces questions ?
Les corrigés détaillés sont dans le quiz du chapitre.
- Qu'affiche le code suivant ? liste = [10, 20, 30, 40] print(liste[2])
- Quelle instruction provoque une erreur ?
- Soit d = {"nom": "Ada", "age": 36}. Qu'affiche print(d["nom"]) ?
- Qu'affiche le code suivant ? liste = [5, 10, 15, 20, 25] print(liste[1:4])
- Soit m = [[1, 2], [3, 4], [5, 6]]. Qu'affiche print(m[1][0]) ?
Accède à la fiche complète
Crée ton compte gratuit pour lire la fiche en entier et accéder à 7 000+ contenus de révision.