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.
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 - bExemple 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)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)Comme un set n'a pas d'ordre, pour l'afficher de façon déterministe :
print(sorted(communs)) # liste triéeCas 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 →