Aller au contenu

Guide complet des méthodes d'ensemble en Python

Dans cet article, nous explorerons les différentes méthodes disponibles pour les ensembles Python, qui sont des collections non ordonnées d'éléments uniques. Les ensembles peuvent être utilisés pour une grande variété de tâches, telles que la suppression des doublons, l'exécution d'opérations ensemblistes comme l'union, l'intersection et la différence, ainsi que le test d'appartenance et de sous-ensembles. En maîtrisant les méthodes d'ensemble, vous pourrez améliorer vos compétences en Python et écrire un code plus efficace et élégant.

Création et initialisation des ensembles

Pour créer un ensemble, vous pouvez utiliser la notation des accolades {} ou la fonction intégrée set(). Si vous souhaitez initialiser un ensemble avec certains éléments, vous pouvez utiliser la même syntaxe que pour les listes, les tuples ou les chaînes de caractères, mais sans les doublons. Par exemple :

Créer des ensembles en Python

python
fruits = {'apple', 'banana', 'cherry'}
colors = set(['red', 'green', 'blue'])
vowels = set('aeiou')

Notez que l'ordre des éléments est arbitraire et peut changer d'une exécution à l'autre, car les ensembles sont implémentés à l'aide de tables de hachage.

Opérations ensemblistes de base

Une fois que vous avez créé des ensembles, vous pouvez y effectuer diverses opérations. Les plus courantes sont :

  • Union : combine les éléments de deux ensembles ou plus dans un nouvel ensemble contenant tous les éléments uniques.

Union d'ensembles en Python

python
A = {1, 2, 3}
B = {2, 3, 4}
C = {3, 4, 5}
print(A.union(B, C))
  • Intersection : trouve les éléments communs à deux ensembles ou plus, c'est-à-dire les éléments qui appartiennent à tous.

Intersection d'ensembles en Python

python
A = {1, 2, 3}
B = {2, 3, 4}
C = {3, 4, 5}
print(A.intersection(B, C))
  • Différence : supprime les éléments d'un ensemble à partir d'un autre ensemble, c'est-à-dire les éléments qui n'appartiennent qu'au premier ensemble.

Différence d'ensembles en Python

python
A = {1, 2, 3}
B = {2, 3, 4}

A.difference(B)
  • Différence symétrique : trouve les éléments qui appartiennent à exactement l'un des deux ensembles, c'est-à-dire les éléments qui ne sont pas communs aux deux.

Différence symétrique d'ensembles en Python

python
A = {1, 2, 3}
B = {2, 3, 4}

print(A.symmetric_difference(B))
  • Sous-ensemble et sur-ensemble : vérifie si un ensemble est un sous-ensemble ou un sur-ensemble d'un autre ensemble, c'est-à-dire si tous les éléments du premier ensemble se trouvent également dans le second, ou inversement.

Sous-ensemble et sur-ensemble en Python

python
A = {1, 2, 3}
B = {2, 3, 4}
C = {3, 4, 5}
print(A.issubset(B))
# False
print(A.issubset(A.union(B)))
# True
print(A.issuperset(B))
# False
print(A.union(B).issuperset(A))
# True

Modification des ensembles

Les ensembles sont des objets mutables, ce qui signifie que vous pouvez leur ajouter ou leur retirer des éléments, ou les mettre à jour avec les éléments d'autres ensembles. Les méthodes les plus courantes pour modifier les ensembles sont :

  • Add : insère un nouvel élément dans l'ensemble, s'il n'est pas déjà présent.

Ajouter un élément à un ensemble Python

python
A = {1, 2, 3}

A.add(0)
print(A)
  • Remove : supprime un élément de l'ensemble, en levant une KeyError s'il n'est pas présent.

Supprimer un élément d'une liste Python

python
A = {0, 1, 2, 3}

A.remove(0)
print(A)
  • Discard : supprime un élément de l'ensemble, sans lever d'erreur s'il n'est pas présent.

Supprimer un élément d'une liste Python

python
A = {0, 1, 2, 3}
A.discard(0)
print(A)
  • Pop : supprime et retourne un élément arbitraire de l'ensemble, en levant une KeyError s'il est vide.

Pop depuis un ensemble Python

python
A = {1, 2, 3}

A.pop()
print(A)
  • Update : ajoute les éléments d'un ou plusieurs ensembles dans l'ensemble, en ignorant les doublons.

Mettre à jour un ensemble avec un autre ensemble en Python

python
A = {1, 2, 3}
B = {2, 3, 4}
A.update(B)
print(A)
  • Clear : supprime tous les éléments de l'ensemble, le rendant vide.

Vider un ensemble en Python

python
A = {1, 2, 3}
A.clear()
print(A)

Résumé des méthodes d'ensemble

Voici un résumé des méthodes d'ensemble abordées dans cet article :

Nom de la méthodeDescription
union(*others)Retourne un nouvel ensemble contenant l'union de l'ensemble actuel et d'un ou plusieurs autres ensembles.
intersection(*others)Retourne un nouvel ensemble contenant l'intersection de l'ensemble actuel et d'un ou plusieurs autres ensembles.
difference(*others)Retourne un nouvel ensemble contenant la différence de l'ensemble actuel et d'un ou plusieurs autres ensembles.
symmetric_difference(other)Retourne un nouvel ensemble contenant la différence symétrique de l'ensemble actuel et d'un autre ensemble.
issubset(other)Retourne True si l'ensemble actuel est un sous-ensemble d'un autre ensemble.
issuperset(other)Retourne True si l'ensemble actuel est un sur-ensemble d'un autre ensemble.
add(elem)Ajoute un élément à l'ensemble actuel.
remove(elem)Supprime un élément de l'ensemble actuel, en levant une erreur s'il n'est pas présent.
discard(elem)Supprime un élément de l'ensemble actuel, sans lever d'erreur s'il n'est pas présent.
pop()Supprime et retourne un élément arbitraire de l'ensemble actuel, en levant une erreur s'il est vide.
update(*others)Ajoute les éléments d'un ou plusieurs autres ensembles à l'ensemble actuel.

Pratique

Parmi les suivantes, lesquelles sont des méthodes utilisables sur les ensembles en Python ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.