logo

Ensembles Python

Python Set est une collection non ordonnée de types de données itérables, mutables et sans éléments en double. L'ordre des éléments dans un ensemble n'est pas défini bien qu'il puisse être composé de divers éléments. Le principal avantage de l’utilisation d’un ensemble, par opposition à une liste, est qu’il dispose d’une méthode hautement optimisée pour vérifier si un élément spécifique est contenu dans l’ensemble. Ici, nous verrons ce qu'est un ensemble en Python et verrons également différents exemples d'ensemble Python.

Créer un ensemble en Python

Les ensembles Python peuvent être créés à l'aide du module intégré ensemble() fonctionner avec un objet itérable ou une séquence en plaçant la séquence entre accolades, séparées par une « virgule ».

Note: Un ensemble Python ne peut pas avoir d'éléments mutables comme une liste ou un dictionnaire, car il est immuable.



Python3
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Creating a Set with the use of a String set1 = set('GeeksForGeeks') print('
Set with the use of String: ') print(set1) String = 'GeeksForGeeks' set1 = set(String) print('
Set with the use of an Object: ') print(set1) # Creating a Set with the use of a List set1 = set(['Geeks', 'For', 'Geeks']) print('
Set with the use of List: ') print(set1) # Creating a Set with the use of a tuple t = ('Geeks', 'for', 'Geeks') print('
Set with the use of Tuple: ') print(set(t)) # Creating a Set with the use of a dictionary d = {'Geeks': 1, 'for': 2, 'Geeks': 3} print('
Set with the use of Dictionary: ') print(set(d))>

Sortir

ligne contre colonne
Initial blank Set:  set()  Set with the use of String:  {'e', 'G', 's', 'F', 'o', 'r', 'k'}  Set with the use of an Object:  {'e', 'G', 's', 'F', 'o', 'r', 'k'}  Set with the use of List:  {'For', 'Geeks'}  Set with the use of Tuple:  {'for', 'Geeks'}  Set with the use of Dictionary:  {'for', 'Geeks'}>

Complexité temporelle : O(n), où n est la longueur de la chaîne d'entrée, de la liste, du tuple ou du dictionnaire.
Espace auxiliaire : O(n), où n est la longueur de la chaîne d'entrée, de la liste, du tuple ou du dictionnaire.

Un ensemble Python ne contient que des éléments uniques, mais au moment de la création de l'ensemble, plusieurs valeurs en double peuvent également être transmises. L'ordre des éléments dans un ensemble Python n'est pas défini et ne peut pas être modifié. Le type d'éléments dans un ensemble n'a pas besoin d'être le même, diverses valeurs de types de données mélangées peuvent également être transmises à l'ensemble.

chemin défini en Java
Python3
# Creating a Set with a List of Numbers # (Having duplicate values) set1 = set([1, 2, 4, 4, 3, 3, 3, 6, 5]) print('
Set with the use of Numbers: ') print(set1) # Creating a Set with a mixed type of values # (Having numbers and strings) set1 = set([1, 2, 'Geeks', 4, 'For', 6, 'Geeks']) print('
Set with the use of Mixed Values') print(set1)>

Sortir
Set with the use of Numbers: {1, 2, 3, 4, 5, 6} Set with the use of Mixed Values {1, 2, 4, 6, 'Geeks', 'For'}>

Création d'un ensemble Python avec une autre méthode

Dans cet exemple, un ensemble est créé en utilisant la notation accolades {}, contenant les nombres 1, 2 et 3. La structure de données d'ensemble en Python ou l'ensemble non ordonné en Python sont des collections non ordonnées d'éléments uniques, ce qui les rend adaptés aux tâches nécessitant unicité et définir des opérations en Python.

Python3
# Another Method to create sets in Python3 # Set containing numbers my_set = {1, 2, 3} print(my_set)>

Sortir
{1, 2, 3}>

Ajout d'éléments à un ensemble en Python

Vous trouverez ci-dessous quelques-unes des approches par lesquelles nous pouvons ajouter des éléments à un ensemble en Python :

  • Utilisation de la méthode add()
  • Utilisation de la méthode update()

Utilisation de la méthode add()

Des éléments peuvent être ajoutés auEnsembles en Pythonen utilisant le module intégré ajouter() fonction. Un seul élément à la fois peut être ajouté à l'ensemble à l'aide de la méthode add(), les boucles sont utilisées pour ajouter plusieurs éléments à la fois à l'aide de la méthode add().

Note: Les listes ne peuvent pas être ajoutées à un ensemble en tant qu'éléments car les listes ne sont pas hachables alors que les tuples peuvent être ajoutés car les tuples sont immuables et donc hachables.

Python3
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Adding element and tuple to the Set set1.add(8) set1.add(9) set1.add((6, 7)) print('
Set after Addition of Three elements: ') print(set1) # Adding elements to the Set # using Iterator for i in range(1, 6): set1.add(i) print('
Set after Addition of elements from 1-5: ') print(set1)>

Sortir
Initial blank Set: set() Set after Addition of Three elements: {8, 9, (6, 7)} Set after Addition of elements from 1-5: {1, 2, 3, (6, 7), 4, 5, 8, 9}>

Utilisation de la méthode update()

Pour l’ajout de deux éléments ou plus, la méthode Update() est utilisée. La méthode update() accepte les listes, les chaînes, les tuples ainsi que d'autres jeux de hachage Python comme arguments. Dans tous ces cas, les éléments en double sont évités.

Python3
# Addition of elements to the Set # using Update function set1 = set([4, 5, (6, 7)]) set1.update([10, 11]) print('
Set after Addition of elements using Update: ') print(set1)>

Sortir
Set after Addition of elements using Update: {4, 5, (6, 7), 10, 11}>

Accéder à un ensemble en Python

Les éléments d'un ensemble ne sont pas accessibles en faisant référence à un index, car les ensembles ne sont pas ordonnés et les éléments n'ont pas d'index. Mais vous pouvez parcourir les éléments de l'ensemble de hachage Python à l'aide d'une boucle for ou demander si une valeur spécifiée est présente dans un ensemble, en utilisant le mot-clé in.

CSS gras
Python3
# Creating a set set1 = set(['Geeks', 'For', 'Geeks.']) print('
Initial set') print(set1) # Accessing element using # for loop print('
Elements of set: ') for i in set1: print(i, end=' ') # Checking the element # using in keyword print('
') print('Geeks' in set1)>

Sortir

Initial set {'Geeks.', 'For', 'Geeks'}  Elements of set:  Geeks. For Geeks   True>

Suppression d'éléments de l'ensemble en Python

Vous trouverez ci-dessous quelques-unes des façons dont nous pouvons supprimer des éléments de l'ensemble en Python :

  • Utilisation de la méthode Remove() ou de la méthode Rejet()
  • Utilisation de la méthode pop()
  • Utilisation de la méthode clear()

Utilisation de la méthode Remove() ou de la méthode Rejet()

Des éléments peuvent être supprimés duEnsembles en Pythonen utilisant la fonction intégrée remove() mais une KeyError se produit si l'élément n'existe pas dans le hashset Python. Pour supprimer des éléments d'un ensemble sans KeyError, utilisez throw(), si l'élément n'existe pas dans l'ensemble, il reste inchangé.

Python3
# Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing elements from Set using Remove() method set1.remove(5) set1.remove(6) print('
Set after Removal of two elements: ') print(set1) # Removing elements from Set using Discard() method set1.discard(8) set1.discard(9) print('
Set after Discarding two elements: ') print(set1) # Removing elements from Set using iterator method for i in range(1, 5): set1.remove(i) print('
Set after Removing a range of elements: ') print(set1)>

Sortir
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after Removal of two elements: {1, 2, 3, 4, 7, 8, 9, 10, 11, 12} Set after Discarding two elements: {1, 2, 3, 4, 7, 10, 11, 12} Set after Removing a range of elements: {7, 10, 11, 12}>

Utilisation de la méthode pop()

La fonction Pop() peut également être utilisée pour supprimer et renvoyer un élément de l'ensemble, mais elle ne supprime que le dernier élément de l'ensemble.

Note: Si l'ensemble n'est pas ordonné, il n'existe aucun moyen de déterminer quel élément est sauté en utilisant la fonction pop().

qu'est-ce que l'objet Java
Python3
# Python program to demonstrate # Deletion of elements in a Set # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing element from the # Set using the pop() method set1.pop() print('
Set after popping an element: ') print(set1)>

Sortir
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after popping an element: {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}>

Utilisation de la méthode clear()

Pour supprimer tous les éléments de l’ensemble, la fonction clear() est utilisée.

Python3
#Creating a set set1 = set([1,2,3,4,5]) print('
 Initial set: ') print(set1) # Removing all the elements from  # Set using clear() method set1.clear() print('
Set after clearing all the elements: ') print(set1)>

Sortir
 Initial set: {1, 2, 3, 4, 5} Set after clearing all the elements: set()>

CongeléEnsembles en Python

Ensembles congelés en Python, ce sont des objets immuables qui ne prennent en charge que les méthodes et les opérateurs qui produisent un résultat sans affecter le ou les ensembles gelés auxquels ils sont appliqués. Alors que les éléments d'un ensemble peuvent être modifiés à tout moment, les éléments de l'ensemble figé restent les mêmes après la création.

Si aucun paramètre n'est transmis, il renvoie un jeu gelé vide.

Python3
# Python program to demonstrate # working of a FrozenSet # Creating a Set String = ('G', 'e', 'e', 'k', 's', 'F', 'o', 'r') Fset1 = frozenset(String) print('The FrozenSet is: ') print(Fset1) # To print Empty Frozen Set # No parameter is passed print('
Empty FrozenSet: ') print(frozenset())>

Sortir
The FrozenSet is: frozenset({'F', 's', 'o', 'G', 'r', 'e', 'k'}) Empty FrozenSet: frozenset()>

Transtypage d'objets en ensembles

Dans cet exemple, listes , les chaînes et dictionnaires sont convertis en ensembles en utilisant le ensemble() constructeur, éliminant les doublons dans les listes et extrayant les éléments uniques dans les chaînes et les clés du dictionnaire.

Python3
# Typecasting list into set my_list = [1, 2, 3, 3, 4, 5, 5, 6, 2] my_set = set(my_list) print('my_list as a set: ', my_set) # Typecasting string into set my_str = 'techcodeview.com' my_set1 = set(my_str) print('my_str as a set: ', my_set1) # Typecasting dictionary into set my_dict = {1: 'One', 2: 'Two', 3: 'Three'} my_set2 = set(my_dict) print('my_dict as a set: ', my_set2)>

Sortir
my_list as a set: {1, 2, 3, 4, 5, 6} my_str as a set: {'G', 'f', 'r', 'e', 'k', 'o', 's'} my_dict as a set: {1, 2, 3}>

Exemple : implémentation de toutes les fonctions

Dans cet exemple, une série de fonctions démontrent les opérations courantes surensembles en Python. Celles-ci incluent la création d'un ensemble, l'ajout et la suppression d'éléments, la suppression de l'ensemble, l'exécution d'opérations d'union d'ensemble, d'intersection, de différence, de différence symétrique, de sous-ensemble et de surensemble.

Python3
def create_set(): my_set = {1, 2, 3, 4, 5} print(my_set) def add_element(): my_set = {1, 2, 3, 4, 5} my_set.add(6) print(my_set) def remove_element(): my_set = {1, 2, 3, 4, 5} my_set.remove(3) print(my_set) def clear_set(): my_set = {1, 2, 3, 4, 5} my_set.clear() print(my_set) def set_union(): set1 = {1, 2, 3} set2 = {4, 5, 6} my_set = set1.union(set2) print(my_set) def set_intersection(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.intersection(set2) print(my_set) def set_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.difference(set2) print(my_set) def set_symmetric_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.symmetric_difference(set2) print(my_set) def set_subset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} subset = set2.issubset(set1) print(subset) def set_superset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} superset = set1.issuperset(set2) print(superset) if __name__ == '__main__': create_set() add_element() remove_element() clear_set() set_union() set_intersection() set_difference() set_symmetric_difference() set_subset() set_superset()>

Sortir
{1, 2, 3, 4, 5} {1, 2, 3, 4, 5, 6} {1, 2, 4, 5} set() {1, 2, 3, 4, 5, 6} {4, 5} {1, 2, 3} {1, 2, 3, 6, 7, 8} True True>

Avantages de Set en Python

  • Éléments uniques : Les ensembles ne peuvent contenir que des éléments uniques, ils peuvent donc être utiles pour supprimer les doublons d'une collection de données.
  • Test d'adhésion rapide : Les ensembles sont optimisés pour des tests d'appartenance rapides, ils peuvent donc être utiles pour déterminer si une valeur se trouve ou non dans une collection.
  • Opérations mathématiques sur les ensembles : Les ensembles prennent en charge les opérations mathématiques sur les ensembles telles que l'union, l'intersection et la différence, qui peuvent être utiles pour travailler avec des ensembles de données.
  • Mutable : Les ensembles sont mutables, ce qui signifie que vous pouvez ajouter ou supprimer des éléments d'un ensemble après sa création.

Inconvénients deEnsembles en Python

  • Non commandé : Les ensembles ne sont pas ordonnés, ce qui signifie que vous ne pouvez pas vous fier à l'ordre des données dans l'ensemble. Cela peut rendre difficile l’accès ou le traitement des données dans un ordre spécifique.
  • Fonctionnalité limitée : Les ensembles ont des fonctionnalités limitées par rapport aux listes, car ils ne prennent pas en charge les méthodes telles que append() ou pop(). Cela peut rendre plus difficile la modification ou la manipulation des données stockées dans un ensemble.
  • Utilisation de la mémoire: Les ensembles peuvent consommer plus de mémoire que les listes, en particulier pour les petits ensembles de données. En effet, chaque élément d'un ensemble nécessite de la mémoire supplémentaire pour stocker une valeur de hachage.
  • Moins couramment utilisé : Les ensembles sont moins couramment utilisés que les listes et les dictionnaires en Python, ce qui signifie qu'il peut y avoir moins de ressources ou de bibliothèques disponibles pour travailler avec eux. Cela peut rendre plus difficile la recherche de solutions aux problèmes ou l’obtention d’aide pour le débogage.

Dans l’ensemble, les ensembles peuvent constituer une structure de données utile en Python, notamment pour supprimer les doublons ou pour tester rapidement les adhésions. Cependant, leur manque d'ordre et leurs fonctionnalités limitées peuvent également les rendre moins polyvalents que les listes ou les dictionnaires. Il est donc important d'examiner attentivement les avantages et les inconvénients de l'utilisation d'ensembles lorsque vous décidez quelle structure de données utiliser dans votre programme Python.

Définir des méthodes en Python

FonctionDescription
ajouter() Ajoute un élément à un ensemble
retirer() Supprime un élément d'un ensemble. Si l'élément n'est pas présent dans l'ensemble, déclenchez une KeyError
clair() Supprime tous les éléments d'un ensemble
copie() Renvoie une copie superficielle d'un ensemble
populaire() Supprime et renvoie un élément d'ensemble arbitraire. Augmenter KeyError si l'ensemble est vide
mise à jour() Met à jour un ensemble avec l'union de lui-même et des autres
syndicat() Renvoie l'union des ensembles dans un nouvel ensemble
différence() Renvoie la différence de deux ensembles ou plus en tant que nouvel ensemble
différence_update() Supprime tous les éléments d'un autre ensemble de cet ensemble
jeter() Supprime un élément de l'ensemble s'il est membre. (Ne rien faire si l'élément n'est pas dans l'ensemble)
intersection() Renvoie l'intersection de deux ensembles sous la forme d'un nouvel ensemble
intersection_update()Met à jour l'ensemble avec l'intersection de lui-même et d'un autre
est disjoint() Renvoie True si deux ensembles ont une intersection nulle
issubset() Renvoie True si un autre ensemble contient cet ensemble
surensemble() Renvoie True si cet ensemble contient un autre ensemble
différence_symmétrique() Renvoie la différence symétrique de deux ensembles sous la forme d'un nouvel ensemble
symétrique_différence_update() Met à jour un ensemble avec la différence symétrique entre lui-même et un autre

Articles récents sur les ensembles Python

Définir les programmes

  • Programme pour accepter les chaînes contenant toutes les voyelles
  • Programme Python pour trouver des éléments communs dans trois listes à l'aide d'ensembles
  • Rechercher les valeurs manquantes et supplémentaires dans deux listes
  • Paires de cordes complètes en deux jeux
  • Vérifiez si une chaîne donnée est un hétérogramme ou non
  • Maximum et minimum dans un ensemble
  • Supprimer des éléments de l'ensemble
  • Python Définir la différence pour trouver l'élément perdu dans un tableau dupliqué
  • Nombre minimum de sous-ensembles avec des éléments distincts utilisant Counter
  • Vérifiez si deux listes ont au moins un élément commun
  • Programme pour compter le nombre de voyelles en utilisant des ensembles dans une chaîne donnée
  • Différence entre deux listes
  • Python configuré pour vérifier si la chaîne est un panagramme
  • Opérations sur les ensembles Python (union, intersection, différence et différence symétrique)
  • Chaîne concaténée avec des caractères peu courants en Python
  • Dictionnaire Python, ensemble et compteur pour vérifier si les fréquences peuvent devenir identiques
  • Utilisation de Set() dans la vérification de Pangram Python
  • Définissez update() en Python pour effectuer l'union de n tableaux

Liens utiles

  • Sortie des programmes Python – Ensembles
  • Articles récents sur les ensembles Python
  • Questions à choix multiples – Python
  • Tous les articles dans la catégorie Python