Najah.
Mon plan de révision⚡ Défi flash

Informatique · Classes prépa (CPGE) — 1ère année — ECS

Types de données composés : Listes, tuples et chaînes de caractères

Le cours expliqué simplement, les questions que tous les élèves se posent et des exercices type examen national. Programme marocain, gratuit.

📘 Fiche de cours

L'essentiel du cours

Les séquences en Python permettent de stocker plusieurs valeurs dans une seule variable.

  • Chaînes de caractères (str) : Séquences immuables de caractères (ex: "CPGE").
  • Listes (list) : Séquences mutables, définies par [] (ex: [1, 2, 3]).
  • Tuples (tuple) : Séquences immuables, définies par () (ex: (1, 2)). L'accès aux éléments se fait par indice $i$ commençant à $0$. L'indice $-1$ désigne le dernier élément.

Méthodes à maîtriser

  • Accès et Slicing : L[debut:fin:pas]. Attention, fin est exclu.
  • Modification (Listes uniquement) : L[i] = valeur ou L.append(x).
  • Parcours : Utilisation de for x in sequence: ou for i in range(len(sequence)):.
  • Recherche : x in L renvoie un booléen.

Exemples corrigés

  1. Slicing : s = "MAROC", s[1:4] donne "ARO".
  2. Ajout : L = [1, 2], L.append(3) donne L = [1, 2, 3].
  3. Immuabilité : t = (1, 2), t[0] = 5 provoque une TypeError.

Erreurs fréquentes

  • Confondre l'indice (ex: L[0]) avec la valeur.
  • Essayer de modifier un caractère dans une chaîne : s[0] = 'A' est interdit.
  • Oublier que le stop dans le slicing est exclusif.

🌉 Jisr : les mots du chapitre FR ⇄ AR

Tu as appris les sciences en arabe ? Touche un mot pour voir sa traduction et une explication en darija.

La question que tu n'oses pas poser en classe ? Pose-la à UstadZéro jugement, même en darija, même à minuit. Il t'explique pas à pas et corrige ta démarche. Gratuit.

Défi flash : 4 questions

Sans compte

🎯 Types de données composés : Listes, tuples et chaînes de caractères

1/4

Quelle est la valeur de L[1] pour L = [10, 20, 30] ?

❓ Questions fréquentes

C'est quoi la différence entre une liste et un tuple ?
  1. La liste est mutable : on peut modifier, ajouter ou supprimer des éléments après sa création.
  2. Le tuple est immuable : une fois créé, son contenu est figé.
  3. Syntaxe : L = [1, 2] pour une liste, T = (1, 2) pour un tuple.

💡 À retenir : Utilisez une liste si les données doivent changer, un tuple pour garantir l'intégrité des données.

kifach n9der n3ref wach wahed l'element kayn f la liste awla la?
  1. Tu utilises l'opérateur in.
  2. Exemple : if "A" in ma_liste:.
  3. Cela renvoie True si l'élément est présent, False sinon.

💡 À retenir : L'opérateur in est très efficace pour tester l'appartenance.

chno hiya l'erreur li kat'3tini "IndexError: list index out of range" ?
  1. Cette erreur survient quand tu essaies d'accéder à un indice qui n'existe pas.
  2. Par exemple, si ta liste a 3 éléments, les indices sont 0, 1 et 2. Si tu tapes L[3], Python affiche cette erreur.

💡 À retenir : Vérifie toujours la longueur de ta liste avec len(L) avant d'accéder à un indice dynamique.

Est-ce qu'on peut mélanger des types dans une liste ?

Oui, en Python, une liste peut contenir des entiers, des chaînes, et même d'autres listes. Exemple : L = [1, "BAC", [2, 3]].

💡 À retenir : Bien que possible, il est préférable de garder des types homogènes pour faciliter le traitement.

kifach n9leb wahed la liste (inverser) ?
  1. Tu peux utiliser la méthode L.reverse() qui modifie la liste sur place.
  2. Ou le slicing : L[::-1] qui crée une nouvelle liste inversée.

💡 À retenir : L[::-1] est souvent plus pratique car il ne modifie pas la liste originale.

Quelle est la différence entre append() et extend() ?
  1. append(x) ajoute l'élément x à la fin de la liste (la liste devient plus longue de 1).
  2. extend(iterable) ajoute chaque élément de l'itérable à la fin de la liste.

💡 À retenir : append ajoute un objet, extend fusionne deux listes.

Pourquoi on dit que les chaînes de caractères sont immuables ?

Parce qu'en Python, on ne peut pas changer un caractère spécifique d'une chaîne existante. Pour "modifier", il faut créer une nouvelle chaîne.

💡 À retenir : Toute opération de modification sur un str crée un nouvel objet en mémoire.

Comment parcourir une liste avec les indices ?

Utilise la fonction range(len(L)) dans une boucle for. Exemple : for i in range(len(L)): print(L[i]).

💡 À retenir : C'est utile quand on a besoin de l'indice pour modifier la liste.

Est-ce que len() fonctionne sur les tuples ?

Oui, len() renvoie le nombre d'éléments contenus dans le tuple.

💡 À retenir : len() est une fonction universelle pour toutes les séquences.

Comment supprimer un élément d'une liste ?
  1. del L[i] pour supprimer par indice.
  2. L.remove(valeur) pour supprimer par valeur.
  3. L.pop() pour supprimer et récupérer le dernier élément.

💡 À retenir : remove lève une erreur si la valeur n'est pas dans la liste.

Est-ce qu'on peut mettre un tuple dans une liste ?

Oui, tout à fait. Une liste peut contenir des tuples : L = [(1, 2), (3, 4)].

💡 À retenir : C'est une structure très utilisée pour représenter des coordonnées ou des paires.

C'est quoi le "pas" dans le slicing ?

C'est le troisième argument L[debut:fin:pas]. Il définit le saut entre les éléments sélectionnés. L[::2] prend un élément sur deux.

💡 À retenir : Un pas négatif permet de parcourir la séquence à l'envers.

✍️ Exercices type examen national

Exercice 1

Écrire une fonction filtrer_positifs(L) qui prend une liste d'entiers L et retourne une nouvelle liste contenant uniquement les éléments positifs de L.

Voir la correction détaillée : inscription gratuite

Exercice 2

Soit S = "Informatique". Écrire les instructions permettant d'extraire le mot "Info" et de l'afficher en majuscules.

Voir la correction détaillée : inscription gratuite

Exercice 3

Écrire un programme qui demande à l'utilisateur de saisir 5 entiers, les stocke dans une liste, puis affiche la somme des éléments de cette liste.

Voir la correction détaillée : inscription gratuite

Un prof de Informatique pour aller plus loin

Les cours du soir avec des profs vérifiés arrivent : inscris-toi pour être prévenu(e) en premier.

Être prévenu(e) gratuitement

Autres chapitres de Informatique