Exercice 25 / 100

Sets

Crée les sets `groupe_a = {'Alice', 'Bob', 'Charlie', 'Diana'}` et `groupe_b = {'Bob', 'Diana', 'Eve', 'Frank'}`, puis affiche les éléments communs Affiche le resultat trie avec sorted().

Un set est une collection d'éléments uniques et non ordonnés. Utile pour éliminer les doublons et faire des opérations ensemblistes (union, intersection...).

Création : avec des accolades { } (comme un dict, mais sans : ).

groupe_a = {'Alice', 'Bob', 'Charlie'} nombres = {1, 2, 3, 2, 1} # → {1, 2, 3} (doublons supprimés) vide = set() # ⚠ PAS {} (ce serait un dict !)

Pas d'ordre garanti : tu ne peux pas accéder à set[0]. Si tu as besoin d'ordre, utilise une liste.

Pas de doublons : ajouter un élément déjà présent ne fait rien.

Opérateurs ensemblistes

a & b intersection (éléments présents dans LES DEUX) a | b union (éléments présents dans l'un OU l'autre) a - b différence (présents dans a mais PAS dans b) a ^ b différence symétrique (dans l'un OU l'autre, mais pas les deux)

Équivalents nommés

a.intersection(b) ≡ a & b a.union(b) ≡ a | b a.difference(b) ≡ a - b

Exemple complet

groupe_a = {'Alice', 'Bob', 'Charlie', 'Diana'} groupe_b = {'Bob', 'Diana', 'Eve', 'Frank'}
groupe_a & groupe_b # → {'Bob', 'Diana'} (présents partout) groupe_a | groupe_b # → {'Alice','Bob','Charlie','Diana','Eve','Frank'} groupe_a - groupe_b # → {'Alice', 'Charlie'} (seulement dans a)
Les opérateurs de set : le et commercial garde ce qui est dans les deux ensembles, le moins garde ce qui n'est que dans le premier

Méthodes courantes

s.add(x) ajoute x s.remove(x) supprime x (erreur si absent) s.discard(x) supprime x (silencieux si absent) x in s test de présence (très rapide)

Obtenir un résultat ordonné

Comme un set n'a pas d'ordre, pour l'afficher de façon déterministe :

print(sorted(communs)) # liste triée

Cas d'usage typique : éliminer les doublons d'une liste en une ligne :

uniques = list(set(ma_liste))

exercise.py

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →