[Mise à jour le : 30/6/2021]
and | continue | finally | is | raise |
as | def | for | lambda | return |
assert | del | from | None | True |
async | elif | global | nonlocal | try |
await | else | if | not | while |
break | except | import | or | with |
class | False | in | pass | yield |
Proche des dictionnaires, les sets ne stockent qu'une clé. Ils sont très utilisés pour garder le nombre d'éléments uniques d'une séquence ou faire le test d'appartenance sur les éléments d'une séquence. Un set peut stocker n'importe quel élément hashable (entier,caractère, booléen etc.).
Exemple 1 : avec des accolades
# Un set sur une liste élimine les doublons ensemble = {'marc', 12, 'pierre', (1, 2, 3), 'pierre'} print(ensemble) # Résultat : {'marc', 'pierre', 12, (1, 2, 3)}
Exemple 2 : avec la fonction set()
# Un set sur une liste élimine les doublons ensemble = set(['marc', 12, 'pierre', (1, 2, 3), 'pierre']) print(ensemble) # Résultat : {'marc', 'pierre', 12, (1, 2, 3)}
Exemple
ensemble_vide = set() # ou ensemble_vide = set([])
Source set, frozenset
a = {'marc', 'pierre', 12, (1, 2, 3)} 'pierre' in a # Résultat :True 6 in a # Résultat : False
a = {'marc', 'pierre', 12, (1, 2, 3)} len(a) # Résultat : 4
a = {['marc', 'pierre', 12, (1, 2, 3), 12, 'marc']} print(a) # Résultat : {(1, 2, 3), 12, 'marc', 'pierre'}
# pour nettoyer a = {'marc', 'pierre', 12, (1, 2, 3)} a.clear() # Résultat : set()
# ajouter un élément a = {'marc', 'pierre', 12, (1, 2, 3)} a.add(1) # Résultat : {1, (1, 2, 3), 12, 'marc', 'pierre'}
# ajouter tous les éléments d'un autre ensemble a = {'marc', 'pierre', 12, (1, 2, 3)} a.update({2, (1, 2, 3), (1, 3, 5)}) # Résultat : {2, (1, 3, 5), 'pierre', (1, 2, 3), 12, 'marc'}
# enlever un élément avec discard a = {2, (1, 3, 5), 'pierre', (1, 2, 3), 12, 'marc'} a.discard((1, 3, 5)) # Résultat : {2, 'pierre', (1, 2, 3), 12, 'marc'}
# enlever un élément avec remove a = {2, (1, 3, 5), 'pierre', (1, 2, 3), 12, 'marc'} a.remove('jean') # Résultat : exception
# pop() ressemble à la méthode éponyme sur les listes # sauf qu'il n'y a pas d'ordre dans un ensemble a = {2, (1, 3, 5), 'pierre', (1, 2, 3), 12, 'marc'} while a: a = a.pop() print("element", a) print("l'ensemble est vide", a) # Résultat # element 2 # element (1, 3, 5) # element pierre # element (1, 2, 3) # element 12 # element marc # l'ensemble est vide set()
A1 = set([0, 2, 4, 6]) A2 = set([0, 6, 3]) A1 | A2 # Résultat : {0, 2, 3, 4, 6}
A1 = set([0, 2, 4, 6]) A2 = set([0, 6, 3]) A1 & A2 # Résultat : {0, 6}
A1 = set([0, 2, 4, 6]) A2 = set([0, 6, 3]) A1 - A2 # Résultat : {2, 4}
A1 = set([0, 2, 4, 6]) A2 = set([0, 6, 3]) A1 ^ A2 # Résultat : {2, 3, 4}
a = {'marc', 'pierre', 12, (1, 2, 3)} b = set(['pierre', 12, (1, 2, 3), 'marc']) a==b # Résultat : True
a = {0, 1, 2, 3} b = {1, 3} b <= a # Résultat : True
a = {0, 1, 2, 3} b = {1, 3} b < a # Résultat : True
a = {0, 1, 2, 3} b = {'marc', 'pierre', 12, (1, 2, 3)} a.isdisjoint(b) # Résultat : True