Exercices Python pour débutants

Remove Duplicates from a List in Python (Keep Order)

Keep the first copy of every value in the original order, using a set to remember what you have seen.

  • Débutant
  • 2 min de lecture
  • 1 exemple exécutable
Ce que vous allez apprendre
  • Tracking seen values with a set
  • Building an ordered result
  • The dict.fromkeys shortcut
Input, then result
1
2
1
3
2
4
1
2
3
4
The highlighted repeats are skipped; order is kept.

Add a value only the first time

Pour supprimer les doublons tout en gardant l'ordre d'origine, on peut mémoriser les valeurs déjà rencontrées dans un ensemble. L'ensemble vérifie très rapidement si une valeur est déjà apparue, et la liste résultat conserve le bon ordre.

Points clés

  1. Keep a set called seen and a result list.
  2. Append a value only if it is not in seen yet, then add it to seen.
  3. list(dict.fromkeys(values)) does the same in one line.

Quand l’utiliser ?

  • Découvrir la syntaxe et les notions de base de Python avec des exemples courts et faciles à comprendre.
  • Acquérir des bases solides avant de passer à des problèmes plus complexes.
  • Exécuter le code directement dans le navigateur, sans installer Python sur l’ordinateur.

Code d’exemple

Exécuter le code →
main.py
values = [1, 2, 1, 3, 2, 4]
seen = set()
# Add each value only on its first occurrence.
unique = [value for value in values if not (value in seen or seen.add(value))]
print(unique)
Obtenir un bouton Run pour cet exemple

Résultat de l’exécution

[1, 2, 3, 4]

Explication du code

La compréhension de liste ne garde value que si la condition not (value in seen or seen.add(value)) est vraie. À la première apparition, value in seen vaut False, donc seen.add(value) est appelé pour mémoriser la valeur. Comme add() renvoie None, la condition finale est True et la valeur est conservée. Aux apparitions suivantes, value in seen vaut True et la valeur est ignorée.

Modifiez les valeurs et exécutez le programme avec le compilateur Python en ligne CodeUtility, sans installation locale.

Exercices d’approfondissement

Essayez de modifier le code en suivant les pistes ci-dessous. Changer le code et observer le résultat vous fera bien mieux comprendre la leçon que la simple lecture.

  1. Changez les données d’entrée et prévoyez le résultat avant d’exécuter.
  2. Ajoutez une vérification pour les données vides ou invalides.
  3. Placez le traitement dans une fonction séparée et testez-la avec plusieurs jeux de données.
Exécuter dans le compilateur Python →

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis