Tutoriel Python - Jeu de types de données
- Créer des ensembles Python
- Mise à jour de l’ensemble Python
- Retirer des éléments d’un jeu Python
- Opérations sur les sets Python
- Méthodes d’ensembles Python
- Autres opérations sur les jeux Python
- Fonctions intégrées au set Python
- Python Frozenset
Dans cette section, vous apprendrez comment créer des ensembles en Python et comment ajouter et supprimer des éléments des ensembles.
Un set contient des éléments uniques et est une liste d’éléments non ordonnés.
set
est un objet mutable qui permet d’ajouter et de supprimer des éléments d’un set.Créer des ensembles Python
Un ensemble en Python peut être créé en utilisant des accolades {}
et les éléments sont séparés par des virgules. Vous pouvez aussi créer un ensemble en utilisant la méthode intégrée set()
.
Les éléments d’un ensemble peuvent être de différents types de données. Les éléments d’un ensemble doivent être immuables. Par exemple, vous pouvez avoir un tuple comme élément de l’ensemble mais vous ne pouvez pas avoir un ensemble ou un dictionnaire ou une liste comme éléments de l’ensemble.
>>> x = {3, 5, 7, 2, 4, 5}
>>> print(x) #prints the set variable
{2, 3, 4, 5, 7}
>>> print(type(x)) #checking type of x
<class 'set'>
Vous pouvez utiliser la méthode set()
avec des paramètres vides pour créer une liste vide. Si vous écrivez {}
pour créer un objet vide, il est interprété comme un dictionnaire:
>>> x = {}
>>> print(type(x))
<class 'dict'>
>>> x = set()
>>> print(type(x))
<class 'set'>
Mise à jour de l’ensemble Python
L’indexation et le découpage ne peuvent pas être utilisés pour changer les éléments d’un ensemble car set
n’est pas un type de données ordonné.
Un seul élément peut être ajouté dans un ensemble en utilisant la méthode add()
. Si vous voulez ajouter plus d’un élément dans l’ensemble, alors vous devez utiliser la méthode update()
.
>>> s = {2, 4}
>>> print(s)
{2, 4}
>>> s.add(6)
>>> print(s)
{2, 4, 6}
>>> s.update([2, 4, 6])
>>> print(s)
{2, 4, 6}
>>> s.update([5,6], {7, 8, 9})
>>> print(s)
{2, 4, 5, 6, 7, 8, 9}
Retirer des éléments d’un jeu Python
Pour retirer un élément d’un ensemble, vous pouvez utiliser la méthode discard()
ou la méthode remove()
.
La différence entre ces méthodes est que la méthode discard()
ne demandera rien si l’élément à supprimer n’est pas dans l’ensemble tandis que la méthode remove()
générera une erreur si l’élément à supprimer n’est pas trouvé.
>>> s = {2, 4, 5, 6, 7, 8, 9}
>>> print(s)
{2, 4, 5, 6, 7, 8, 9}
>>> s.discard(6)
>>> print(s)
{2, 4, 5, 7, 8, 9}
>>> s.remove(8)
>>> print(s)
{2, 4, 5, 7, 9}
>>> s.discard(6) #no error
>>> s.remove(8) #generated an error
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
s.remove(8)
KeyError: 8
Vous pouvez aussi utiliser pop()
pour supprimer un élément d’un ensemble. pop()
supprime et retourne un élément d’un ensemble arbitraire.
>>> s = set("Python")
>>> s
{'o', 'n', 'h', 'P', 'y', 't'}
>>> s.pop()
o
>>> s.pop()
n
>>> s
{'h', 'P', 'y', 't'}
>>> s.clear()
>>> print(s)
set()
Vous pouvez utiliser la méthode set clear()
pour effacer tous les éléments d’un set.
>>> s = set("Python")
>>> s.clear()
>>> s
set()
Opérations sur les sets Python
Vous pouvez effectuer des opérations telles que union
, intersection
, différence
, et différence_symétrique
.
Supposons que vous ayez deux ensembles x
et y
:
>>> x = {1, 2, 3, 4, 5, 6}
>>> y = {7, 8, 9, 10, 11, 12}
Union
L’union de deux ensembles donne lieu à un nouvel ensemble contenant tous les éléments des deux ensembles.
Pour effectuer l’opération d’union, vous pouvez utiliser soit l’opérateur |
soit la méthode union()
.
>>> print(x | y)
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
#using union() method on x
>>> x.union(y)
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
#union on y
>>> y.union(x)
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
Intersection d’ensembles Python
L’intersection de deux ensembles donne lieu à un nouvel ensemble contenant les éléments communs aux deux ensembles.
Pour effectuer l’opération d’intersection, vous pouvez utiliser soit l’opérateur &
soit la méthode intersection()
.
>>> x = {1, 2, 3, 4, 5, 6}
>>> y = {7, 8, 9, 2, 6, 1}
>>> print(x & y)
{1, 2, 6}
#using intersection() method on x
>>> x.intersection(y)
{1, 2, 6}
#intersection on y
>>> y.intersection(x)
{1, 2, 6}
Différence entre les ensembles Python
La différence entre deux ensembles donne lieu à un nouvel ensemble qui contient des éléments du premier ensemble qui ne sont pas présents dans le deuxième ensemble.
Par exemple, x - y
est un élément de x
qui n’est pas dans y
. De même, y - x
est un élément de y
qui n’est pas dans x
.
Pour effectuer la différence, vous pouvez utiliser soit l’opérateur -
soit la méthode difference()
.
>>> x = {1, 2, 3, 4, 5, 6}
>>> y = {7, 8, 9, 2, 6, 1}
>>> print(x - y)
{3, 4, 5}
#using difference() method on x
>>> x.difference(y)
{3, 4, 5}
#diference on y
>>> y.difference(x)
{8, 9, 7}
Python établit une différence symétrique
La différence symétrique de deux ensembles donne lieu à un nouvel ensemble qui contient des éléments qui ne sont pas communs aux deux ensembles.
Pour effectuer une différence symétrique, vous pouvez utiliser soit l’opérateur ^
soit la méthode symmetric_difference()
.
>>> x = {1, 2, 3, 4, 5, 6}
>>> y = {7, 8, 9, 2, 6, 1}
>>> print(x ^ y)
{3, 4, 5, 7, 8, 9}
#using symmetric_difference() method on x
>>> x.symmetric_difference(y)
{3, 4, 5, 7, 8, 9}
#symmetric_diference on y
>>> y.symmetric_difference(x)
{3, 4, 5, 7, 8, 9}
Méthodes d’ensembles Python
Voici la liste des méthodes qui peuvent être appliquées sur des ensembles en Python:
Méthode | Description |
---|---|
add() |
ajouter un élément à un ensemble |
clear() |
effacer les éléments de l’ensemble (efface l’ensemble entier) |
copy() |
retourner la copie d’un ensemble |
difference() |
retourne un nouvel ensemble qui contient des éléments du premier ensemble qui ne sont pas présents dans le second ensemble. |
difference_update() |
supprimer tous les éléments d’un autre ensemble de l’ensemble actuel |
discard() |
retirer un élément spécifique d’un ensemble |
intersection() |
retourne un nouveau set contenant les éléments communs aux deux sets. |
intersection_update() |
mettre à jour un ensemble avec l’intersection de cet ensemble avec un autre ensemble |
isdisjoint() |
retourne un True quand deux ensembles résultent en une intersection nulle |
issubset() |
retourne un True quand un autre jeu a le jeu courant |
issuperset() |
retourne un True quand le jeu courant a un autre jeu |
pop() |
retourner un élément d’un ensemble |
remove() |
retirer un élément spécifique d’un ensemble. Si l’élément n’est pas dans l’ensemble, une erreur sera générée. |
symmetric_difference() |
retourne un nouveau jeu qui contient des éléments qui ne sont pas communs aux deux jeux. |
symmetric_difference_update() |
mettre à jour un ensemble avec la différence symétrique de cet ensemble avec un autre ensemble |
union() |
retourne un nouveau jeu contenant tous les éléments des deux jeux. |
update() |
mettre à jour un ensemble avec l’union de cet ensemble avec un autre ensemble |
Autres opérations sur les jeux Python
Définir le contrôle des membres
Le mot-clé in
teste si un élément est un membre de l’ensemble ou non.
>>> s = set("Blue")
>>> print('o' in s)
False
>>> print('l' in s)
True
Itérer à travers un ensemble
Vous pouvez itérer à travers un ensemble en utilisant la boucle for
:
for i in set("Blue"):
print(i)
Résultat:
B
l
u
e
Fonctions intégrées au set Python
Voici quelques-unes des fonctions intégrées qui peuvent être utilisées avec les ensembles pour effectuer différentes tâches:
Fonctions | Description |
---|---|
all() |
retourne True quand tous les éléments de l’ensemble sont Vrais . Il retourne aussi True quand le jeu est vide. |
any() |
retourne True quand l’un des éléments de l’ensemble est True . Il retourne False quand le jeu est vide. |
enumerate() |
retourne l’index et la valeur de tous les éléments de l’ensemble sous forme de tuple. Il retourne un objet enumerate . |
len() |
retourner le nombre d’éléments d’un ensemble ou la longueur de l’ensemble. |
set() |
définir un ensemble. |
max() |
retourner le maximum d’éléments dans le jeu. |
min() |
retourner l’élément minimum dans le set. |
sorted() |
retourne une liste triée des éléments d’un ensemble. |
sum() |
retourne la somme de tous les éléments de l’ensemble. |
Python Frozenset
Frozenset est un ensemble spécial dont les éléments ne peuvent pas être mis à jour lorsqu’ils sont affectés une fois. Les gelées sont des ensembles immuables.
Comme les ensembles sont mutables, vous ne pouvez pas les utiliser comme clé dans le dictionnaire, mais les ensembles gelés sont immuables, donc vous pouvez utiliser les ensembles gelés comme clés de dictionnaire.
Un ensemble gelé peut être créé en utilisant la méthode frozenset()
.
Voici quelques-unes des méthodes supportées par frozenset:
copy()
difference()
intersection()
isdisjoint()
issubset()
issuperset()
symmetric_difference()
union()
>>> x = frozenset([2,6,3,9])
>>> y = frozenset([6,1,2,4])
>>> x.difference(y)
frozenset({9, 3})
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook