Blog • code, python

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.

Publie le 8 septembre 2023 • 4 min read
Cours recommandé

Python débutant

Bases du langageExercices corrigésQuatre projets progressifs

Apprenez Python à partir de zéro : variables, conditions, boucles, fonctions et structures de données. Chaque notion est suivie d'exercices corrigés automatiquement, et chaque chapitre se termine par un quiz.

Découvrir le cours

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'}
Cours recommandé

Python débutant

Bases du langageExercices corrigésQuatre projets progressifs

Apprenez Python à partir de zéro : variables, conditions, boucles, fonctions et structures de données. Chaque notion est suivie d'exercices corrigés automatiquement, et chaque chapitre se termine par un quiz.

Découvrir le cours
Thomas Collart

Thomas Collart, developpeur et formateur depuis plus de 20 ans. J'ai forme 3 700 etudiants a travers mes formations en ligne, cumule plus de 2 700 000 vues et 43 800 abonnes sur YouTube, TikTok et Instagram.