← Retour aux quizQuiz gratuit

Manipulation des listes en Python

Les listes sont l’une des structures de données les plus utilisées en Python. Elles permettent de stocker une collection ordonnée d’éléments, d’accéder à chaque valeur grâce à un indice, de…

9 questions~5 min
Manipulation des listes en Python — Qwi
0 / 9
Score: 0%
1

Quel indice permet d'accéder au dernier élément d'une liste L de longueur n ?

2

Après l'exécution de L = [1, 2]; L.append(3); L.append(4), quel est le résultat de print(L) ?

3

Quel est le résultat de print(len([3, 6, 9, 5])) ?

4

Quelle boucle parcourt les indices d'une liste L de façon correcte ?

5

Quel résultat obtient-on avec l'expression [x**3 for x in range(5)] ?

6

Si L1 = [-3, 2] et L2 = ["un", 4, 5], quel est le résultat de L1 + L2 ?

7

Quelle instruction crée une liste contenant les nombres pairs de 0 à 10 inclus ?

8

Quel est le résultat de print(max([ -1, 5, 3, 2 ])) ?

9

Après l'exécution de L = [1, 2, 3]; L = L + [4]; quel est le contenu de L ?

Manipulation des listes en Python : concepts clés

Les listes sont l’une des structures de données les plus utilisées en Python. Elles permettent de stocker une collection ordonnée d’éléments, d’accéder à chaque valeur grâce à un indice, de les modifier dynamiquement et d’appliquer de nombreuses fonctions intégrées. Ce cours reprend les notions essentielles testées dans le quiz « Manipulation des listes en Python », tout en offrant des explications détaillées, des exemples supplémentaires et des bonnes pratiques pour optimiser votre code.

1. Indices et accès aux éléments

En Python, les indices d’une liste commencent à 0. Ainsi, pour une liste L de longueur n, le dernier élément se trouve à l’indice n‑1. Cette règle évite les dépassements d’indice (IndexError) et est fondamentale pour toute itération ou manipulation directe.

  • Rappel : len(L) renvoie la taille de la liste, donc le dernier indice valide est len(L) - 1.
  • Exemple : L = ['a', 'b', 'c'] → len(L) = 3 et le dernier indice est 2. L[2] renvoie 'c'.

Dans le quiz, la bonne réponse était n‑1. À retenir : indice = taille‑1.

2. Ajouter des éléments avec append

La méthode list.append(item) ajoute item à la fin de la liste, sans créer de nouvelle liste. Cette opération est très rapide (complexité amortie O(1)) et constitue la façon la plus courante d’étendre une liste dynamiquement.

  • Syntaxe : L.append(élément)
  • Exemple : L = [1, 2]; L.append(3); L.append(4) → L devient [1, 2, 3, 4].
  • Attention : append ne concatène pas deux listes ; pour cela, utilisez l’opérateur + ou la méthode extend.

Le quiz confirmait que print(L) affiche [1, 2, 3, 4]. À retenir : append → toujours fin de liste.

3. Longueur d’une liste avec len

La fonction intégrée len(sequence) renvoie le nombre d’éléments d’une séquence (liste, chaîne, tuple, etc.). Elle ne compte pas les valeurs uniques, mais chaque position occupée.

  • Exemple : len([3, 6, 9, 5]) renvoie 4.
  • Utilisation courante : vérifier si une liste est vide (if len(L) == 0) ou itérer un nombre fixe de fois.

Dans le quiz, la bonne réponse était 4. À retenir : len compte les items, pas la valeur.

4. Parcourir les indices d’une liste

Lorsque l’on a besoin d’accéder à la fois à l’indice et à la valeur, la forme la plus sûre est for i in range(len(L)). Cette boucle génère les indices 0 … len(L)-1, garantissant un accès valide à chaque élément.

  • Alternative moderne : for i, value in enumerate(L) qui fournit directement l’indice et la valeur.
  • Exemple :
    for i in range(len(L)):
        print(f"Indice {i} → valeur {L[i]}")
    

Le quiz indiquait que for i in range(len(L)) est la bonne réponse. À retenir : range = indices sûrs.

5. Compréhensions de listes (list comprehensions)

Les compréhensions de listes offrent une syntaxe concise pour créer de nouvelles listes à partir d’itérables existants. La forme générale est [expression for variable in iterable if condition].

  • Exemple du quiz : [x**3 for x in range(5)] produit les cubes de 0 à 4 → [0, 1, 8, 27, 64].
  • Avantages : code plus lisible, souvent plus rapide que les boucles for classiques.
  • Bonnes pratiques : garder la compréhension lisible (une ou deux lignes) ; sinon, privilégier une boucle explicite.

À retenir : cubes de 0 à 4.

6. Concatenation de listes avec l’opérateur +

L’opérateur + crée une nouvelle liste en concaténant les deux listes dans l’ordre indiqué. Aucun des deux listes d’origine n’est modifié.

  • Exemple : L1 = [-3, 2]; L2 = ["un", 4, 5]; L1 + L2 → [-3, 2, "un", 4, 5].
  • Alternative : L1.extend(L2) qui modifie L1 en place.

Le quiz confirmait que la concaténation donne [-3, 2, "un", 4, 5]. À retenir : concaténation = L1 suivi de L2.

7. Créer une liste d’entiers pairs avec range et une condition

Pour générer les nombres pairs de 0 à 10 inclus, on utilise range(11) (qui produit 0‑10) et on filtre avec if x % 2 == 0. La compréhension de liste suivante est la plus lisible :

L = [x for x in range(11) if x % 2 == 0]
# Résultat → [0, 2, 4, 6, 8, 10]
  • Pourquoi range(11) ? range(stop) exclut stop. Pour inclure 10, on doit aller jusqu’à 11.
  • Alternative concise : list(range(0, 11, 2)) qui crée directement la même liste.

Dans le quiz, la bonne réponse était L = [x for x in range(11) if x % 2 == 0]. À retenir : range(max+1) + condition paire.

8. Trouver la valeur maximale avec max

La fonction max(iterable) parcourt la séquence et renvoie l’élément le plus grand selon l’ordre naturel (pour les nombres, l’ordre numérique). Elle lève une ValueError si la séquence est vide.

  • Exemple du quiz : max([-1, 5, 3, 2]) → 5.
  • Utilisation avancée : max(iterable, key=fonction) pour comparer des objets complexes (ex. max(liste, key=len)).

Le quiz confirmait que le résultat est 5. À retenir : max → plus grand nombre.

9. Synthèse et bonnes pratiques

Voici un petit rappel sous forme de tableau récapitulatif des fonctions et méthodes abordées :

  • Accès par indice : L[i] où 0 ≤ i < len(L).
  • Ajout d’un élément : L.append(item).
  • Longueur : len(L).
  • Itération sur les indices : for i in range(len(L)) ou for i, v in enumerate(L).
  • Compréhension de liste : [expr for x in iterable if condition].
  • Concaténation : L1 + L2 (nouvelle liste) ou L1.extend(L2) (modification en place).
  • Génération d’une séquence : range(start, stop, step).
  • Maximum : max(L).

En appliquant ces concepts, vous serez capable de manipuler les listes de façon efficace, lisible et sûre.

10. Exercices d’application

Pour consolider vos connaissances, essayez les exercices suivants :

  • Écrire une fonction inverse(L) qui retourne une nouvelle liste contenant les éléments de L dans l’ordre inverse, sans utiliser la méthode reverse().
  • Créer une liste primes contenant tous les nombres premiers entre 2 et 30 en utilisant une compréhension de liste et la fonction all().
  • Utiliser enumerate pour afficher chaque élément d’une liste fruits = ['pomme', 'banane', 'cerise'] avec son indice, sous la forme « Indice : Valeur ».

Ces exercices vous aideront à mettre en pratique les notions d’indices, de boucles, de compréhensions et de fonctions intégrées.

11. Optimisation SEO du cours

Pour que ce contenu soit bien référencé, plusieurs bonnes pratiques SEO sont appliquées :

  • Mots‑clés ciblés : « manipulation des listes en Python », « list comprehension », « append Python », « max fonction Python ».
  • Utilisation de balises sémantiques <h2> et <h3> pour structurer le texte et faciliter le crawling des moteurs de recherche.
  • Paragraphes courts et <strong>/<em> pour mettre en avant les concepts clés, améliorant ainsi le snippet affiché dans les résultats.
  • Liens internes potentiels (non inclus ici) vers d’autres cours Python pour augmenter le link juice.

En suivant ces recommandations, votre page sera à la fois pédagogique et bien positionnée dans les résultats de recherche.