La fonction set en Python

Article publié le vendredi 8 septembre 2023 et mis à jour le mercredi 3 avril 2024.

La fonction set en Python

La fonction native set() retourne un set en en créant un ou bien en transformant un autre objet Python en set si c’est possible. Les éléments du set sont entre les symboles {} et un set ne contient pas de doublons.

set([True, False, True])  # {True, False}
set([0, 1, 2])  # {0, 1, 2}
set([])  # set()

💡 Vous voulez en apprendre plus sur les fonctions comme set() ? J’ai écrit un article qui reprend toutes les fonctions natives en Python.

Quelle est la syntaxe de la fonction set ?

La syntaxe de la fonction set() en Python est :

set()
set(iterable)

Quels paramètres prend la fonction set ?

La fonction set() prend 0 ou 1 paramètre :

  • iterable (optionnel) : un itérable comme une liste, un set, un dictionnaire, un set, une string ou un autre type d’objet python sur lequel on peut boucler.

Quelle valeur renvoie la fonction set ?

La fonction set() retourne :

  • Le constructeur d’un nouveau set vide set() si aucun paramètre n’a été fourni
  • Un set qui reprend les éléments de l’iterable passé en paramètre sans doublons

Exemples de la fonction set avec des listes

set([True, True, True])  # {True}
set([])  # set()

Exemples de la fonction set avec des dictionnaires

set({'a': False, 'b': False, 'c': False})  # {'a', 'b', 'c'}
set({})  # set()

Exemples de la fonction set avec des tuples

set((False, True, True))  # {False, True}
set(())  # set()

Exemples de la fonction set avec des strings

set('123')  # {'1', '2', '3'}
set('')  # set()

Quelles sont les méthodes d’un set ?

Les objets de type set offrent plusieurs méthodes : add, clear, copy, difference, difference_update, discard, intersection, intersection_update, isdisjoint, issubset, issuperset, pop, remove, symmetric_difference, symmetric_difference_update, union ou encore update.

add

a = set([1, 2, 3])

a.add(4)

print(a)  # {1, 2, 3, 4}

clear

a = set([1, 2, 3])

a.clear()

print(a)  # set()

copy

a = set([1, 2, 3])

b = a.copy()

print(a, b)  # {1, 2, 3} {1, 2, 3}

difference

a = set([1, 2, 3])

b = set([2, 3, 4])

a.difference(b)  # {1}

difference_update

a = set([1, 2, 3])

b = set([2, 3, 4])

a.difference(b)  # {1}

print(a)  # {1}

discard

a = set([1, 2, 3])

a.discard(2)

print(a) # {1, 3}

intersection

a = set([1, 2, 3])

b = set([2, 3, 4])

a.intersection(b)  # {2, 3}

intersection_update

a = set([1, 2, 3])

b = set([2, 3, 4])

a.intersection_update(b)  # {2, 3}

print(a)  # {2, 3}

isdisjoint

a = set([1, 2, 3])

b = set([2, 3, 4])

a.isdisjoint(b)  # False

issubset

a = set([1, 2, 3])

b = set([2, 3, 4])

a.issubset(b)  # False

set([1, 2]).issubset(set([1, 2, 3, 4]))  # True

issuperset

a = set([1, 2, 3])

b = set([2, 3, 4])

a.issuperset(b)  # False

pop

a = set([1, 2, 3])

a.pop()

print(a) # {1, 2}

remove

a = set([1, 2, 3])

a.remove(3)

print(a) # {1, 2}

symmetric_difference

a = set([1, 2, 3])

b = set([2, 3, 4])

a.symmetric_difference(b)  # {1, 4}

symmetric_difference_update

a = set([1, 2, 3])

b = set([2, 3, 4])

a.symmetric_difference_update(b)  # {1, 4}

print(a)  # {1, 4}

union

a = set([1, 2, 3])

b = set([2, 3, 4])

a.union(b)  # {1, 2, 3, 4}

update

a = set([1, 2, 3])

a.update('a', 'b', 'c')

print(a)  # {1, 2, 3, 'a', 'b', 'c'}
Comment Coder

Je m'appelle Thomas. J'ai commencé à coder dans mon enfance. Depuis ma sortie de la première promo de l'École 42, j'ai développé des centaines d'applications et sites web. Sur ce blog, je vous donne les meilleurs conseils et astuces pour apprendre comment apprendre à coder efficacement.