Ensembles Python3
Un ensemble est une séquence non ordonnée d'éléments uniques.
Les éléments d'un ensemble ne se répètent pas, et des opérations ensemblistes courantes telles que l'intersection, l'union et la différence peuvent être effectuées.
Les accolades peuvent être utilisées{ }pour créer un ensemble, avec les éléments séparés par des virgules,, ou vous pouvez aussi utiliser laset()fonction pour créer un ensemble.
Format de création :
parame = {value01,value02,...}
或者
set(value)
Voici un exemple simple :
set1 = {1, 2, 3, 4} # 直接使用大括号创建集合
set2 = set([4, 5, 6, 7]) # 使用 set() 函数从列表创建集合
Remarque :Pour créer un ensemble vide, vous devez utiliser set()plutôt que{ }, car{ }est utilisé pour créer un dictionnaire vide.
Autres exemples de démonstration :
Exemple (Python 3.0+)
>>> print(basket) # Ici, on démontre la fonction de déduplication
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # Vérifier rapidement si un élément est dans un ensemble
True
>>> 'crabgrass' in basket
False
>>> # Ce qui suit montre les opérations entre deux ensembles.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # Éléments contenus dans l'ensemble a mais pas dans l'ensemble b
{'r', 'd', 'b'}
>>> a | b # Tous les éléments contenus dans l'ensemble a ou l'ensemble b
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # Éléments contenus dans les deux ensembles a et b
{'a', 'c'}
>>> a ^ b # Éléments non contenus à la fois dans a et b
{'r', 'd', 'b', 'm', 'z', 'l'}
Comme les compréhensions de listes, les ensembles prennent aussi en charge les compréhensions d'ensembles :
Exemple (Python 3.0+)
>>> a
{'r', 'd'}
Opérations de base sur les ensembles
1. Ajout d'éléments
Le format de la syntaxe est le suivant :
s.add( x )
Ajouter l'élément x à l'ensemble s ; si l'élément existe déjà, aucune opération n'est effectuée.
Exemple (Python 3.0+)
>>> thisset.add("Facebook")
>>> print(thisset)
{'Taobao', 'Facebook', 'Google', 'Example'}
Il existe également une autre méthode qui peut ajouter des éléments, et son paramètre peut être une liste, un tuple, un dictionnaire, etc. Le format de syntaxe est le suivant :
s.update( x )
Il peut y avoir plusieurs valeurs x, séparées par des virgules.
Exemple (Python 3.0+)
>>> thisset.update({1,3})
>>> print(thisset)
{1, 3, 'Google', 'Taobao', 'Example'}
>>> thisset.update([1,4],[5,6])
>>> print(thisset)
{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Example'}
>>>
2. Suppression d'éléments
Le format de la syntaxe est le suivant :
s.remove( x )
Supprimer l'élément x de l'ensemble s ; si l'élément n'existe pas, une erreur se produira.
Exemple (Python 3.0+)
>>> thisset.remove("Taobao")
>>> print(thisset)
{'Google', 'Example'}
>>> thisset.remove("Facebook") # Une erreur se produit s'il n'existe pas
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Facebook'
>>>
De plus, il existe une autre méthode qui supprime également des éléments d'un ensemble, et aucune erreur ne se produit si l'élément n'existe pas. Le format est le suivant :
s.discard( x )
Exemple (Python 3.0+)
>>> thisset.discard("Facebook") # Aucune erreur ne se produit s'il n'existe pas
>>> print(thisset)
{'Taobao', 'Google', 'Example'}
Nous pouvons également supprimer aléatoirement un élément d'un ensemble. Le format de syntaxe est le suivant :
s.pop()
Exemple en mode script (Python 3.0+)
x = thisset.pop()
print(x)
Résultat de sortie :
Example
Les résultats du test sont différents à chaque fois qu'il est exécuté plusieurs fois.
La méthode pop d'un ensemble dispose l'ensemble dans un ordre non ordonné, puis supprime le premier élément le plus à gauche de cet ensemble non ordonné.
3. Compter le nombre d'éléments dans un ensemble
Le format de la syntaxe est le suivant :
len(s)
Compter le nombre d'éléments dans l'ensemble s.
Exemple (Python 3.0+)
>>> len(thisset)
3
4. Vider un ensemble
Le format de la syntaxe est le suivant :
s.clear()
Vider l'ensemble s.
Exemple (Python 3.0+)
>>> thisset.clear()
>>> print(thisset)
set()
5. Vérifier si un élément existe dans un ensemble
Le format de la syntaxe est le suivant :
x in s
Déterminer si l'élément x est dans l'ensemble s ; renvoyer True s'il existe, et False sinon.
Exemple (Python 3.0+)
>>> "Example" in thisset
True
>>> "Facebook" in thisset
False
>>>
Liste complète des méthodes intégrées des ensembles
| Méthode | Description |
|---|---|
| add() | Ajouter des éléments à un ensemble |
| clear() | Supprimer tous les éléments d'un ensemble |
| copy() | Copier un ensemble |
| difference() | Retourner la différence de plusieurs ensembles |
| difference_update() | Supprimer un élément d'un ensemble s'il existe aussi dans l'ensemble spécifié. |
| discard() | Supprimer l'élément spécifié d'un ensemble |
| intersection() | Retourner l'intersection d'ensembles |
| intersection_update() | Retourner l'intersection d'ensembles. |
| isdisjoint() | Détermine si deux ensembles contiennent les mêmes éléments ; renvoie True s'ils n'en contiennent pas, sinon renvoie False. |
| issubset() | Détermine si l'ensemble spécifié est un sous-ensemble de l'ensemble passé en paramètre à cette méthode. |
| issuperset() | Détermine si l'ensemble passé en paramètre à cette méthode est un sous-ensemble de l'ensemble spécifié. |
| pop() | Supprimer aléatoirement un élément |
| remove() | Supprimer l'élément spécifié |
| symmetric_difference() | Renvoie un ensemble d'éléments qui ne sont pas répétés dans les deux ensembles. |
| symmetric_difference_update() | Supprime de l'ensemble courant les éléments qui sont identiques à ceux d'un autre ensemble spécifié, et insère dans l'ensemble courant les éléments différents provenant de l'autre ensemble spécifié. |
| union() | Renvoie l'union de deux ensembles |
| update() | Ajouter des éléments à un ensemble |
| len() | Compte le nombre d'éléments dans un ensemble |