Exercice 25 / 100

Sets

ConsigneCré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().

📖 Cours

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 & ba.union(b) ≡ a | ba.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
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 xs.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))

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