Comment créer un dictionnaire d’ensembles en Python ?
Dans cet article, nous allons apprendre à créer un dictionnaire d'ensembles en Python.
Méthodes utilisées
Voici les différentes méthodes utilisées pour accomplir cette tâche -
Utiliser la méthode naïve
Utilisation de la méthode defaultdict()
Utilisation de la méthode setdefault()
Méthode 1 : Utiliser la méthode naïve
Dans cette méthode, nous créons un dictionnaire d'ensembles en passant des ensembles comme valeurs aux clés.
Syntaxe
{ ‘Key’: Set 1, ‘Key’:Set 2,…………..,’Key’: Set n}
Algorithme (étapes)
Voici les algorithmes/étapes à suivre pour effectuer la tâche souhaitée. −
Créez une variable pour stocker le dictionnaire contenant les valeurs sous forme d'ensemble sans éléments en double (c'est-à-dire dictionnaire d'ensembles).
Imprime le dictionnaire d'entrée des ensembles.
Exemple
Le programme suivant crée un dictionnaire d'ensembles (sans doublons) en python en utilisant la méthode Naive -
# creating a dictionary containing the values as set
# without duplicate elements
# (dictionary of sets)
inputDict = {'Employ ID': {10, 11, 12, 14, 15},
'Employ Age': {25, 30, 40, 35, 28}}
# printing the input dictionary of sets
print(inputDict)
Sortir
Lors de l'exécution, le programme ci-dessus générera la sortie suivante -
{'Employ ID': {10, 11, 12, 14, 15}, 'Employ Age': {35, 40, 25, 28, 30}}
Créer un ensemble comportant des doublons
En général, le set en python n'autorise pas les doublons, c'est-à-dire ce qui supprime tous les éléments répétés.
Exemple
L'exemple ci-dessous montre qu'un ensemble Python n'autorisera pas les doublons.
Le programme suivant crée un dictionnaire d'ensembles (contenant des doublons) en python à l'aide de la méthode Naive -
# creating a dictionary containing the values as set
# with duplicates elements
# the set does not allow duplicates
inputDict = {'Employ ID': {10, 11, 12, 13, 13, 14, 15, 10, 12, 11},
'Employ Age': {25, 30, 30, 40, 25, 35, 40, 28, 33, 25}}
# printing the input dictionary
print(inputDict)
Sortir
Lors de l'exécution, le programme ci-dessus générera la sortie suivante -
{'Employ ID': {10, 11, 12, 13, 14, 15}, 'Employ Age': {33, 35, 40, 25, 28, 30}}
Dans l’exemple ci-dessus, nous pouvons observer que tous les doublons sont supprimés, et imprimés uniquement les éléments uniques. Il est donc prouvé qu'un ensemble python supprime n'autorise pas les doublons.
Méthode 2 : Utilisation de la méthode defaultdict()
Dans cette méthode, l'ensemble par défaut sera créé et les paires clé-valeur lui seront transmises.
Syntaxe
defaultdict(set)
Passer le dictionnaire avec clé et valeur −
dictionary[“key”] |= {‘value1’, ‘value2′, ……………,’value n’}
Ici,
dictionnaire - dictionnaire d'entrée
key - clé d'un dictionnaire
value - la valeur d'un dictionnaire passé comme défini.
Algorithme (étapes)
Voici les algorithmes/étapes à suivre pour effectuer la tâche souhaitée. −
Utilisez le mot-clé import pour importer le defaultdict depuis le module de collections.
Utilisez la méthode defaultdict() pour créer un ensemble vide de dictionnaire en utilisant l'ensemble de contournement comme argument.
-
Donnez les paires clé-valeur pour le dictionnaire à l'aide de l'opérateur [].
Imprimez le dictionnaire d'ensembles créé.
Exemple
Le programme suivant crée un dictionnaire d'ensembles en python à l'aide de la fonction defaultdict() -
# importing defaultdict from the collections module
from collections import defaultdict
# creating an empty set of the dictionary using the
# defaultdict() method by passing set as argument to it
dictionary = defaultdict(set)
# giving the first key-value pair of a dictionary
dictionary["Employ ID"] |= {10, 11, 12, 14, 15}
# giving the second key-value pair of a dictionary
dictionary["Employ Age"] |= {25, 30, 40, 35, 28}
# printing the created dictionary of sets
print(dictionary)
Sortir
Lors de l'exécution, le programme ci-dessus générera la sortie suivante -
defaultdict(<class 'set'>, {'Employ ID': {10, 11, 12, 14, 15}, 'Employ Age': {35, 40, 25, 28, 30}})
Méthode 3 : Utilisation de la méthode setdefault()
La valeur d'une clé dans le dictionnaire est renvoyée par la méthode setdefault(). Sinon, une clé et une valeur sont insérées dans le dictionnaire.
Syntaxe
dict.setdefault(key, default_value)
ici,
key - C'est la clé qu'il faut rechercher dans un dictionnaire.
default_value - C'est la valeur d'une clé spécifique
Algorithme (étapes)
Voici les algorithmes/étapes à suivre pour effectuer la tâche souhaitée. −
Créez une variable pour stocker le dictionnaire d'entrée contenant la valeur sous forme d'ensemble sans éléments en double (c'est-à-dire un dictionnaire d'ensembles).
Utilisez la fonction setdefault() pour accéder aux valeurs de 'Employ ID' en tant qu'ensemble du dictionnaire d'entrée en passant 'Employ ID'. comme argument.
Utilisez la fonction setdefault() pour accéder aux valeurs de 'Employ Age' en tant qu'ensemble du dictionnaire d'entrée en passant 'Employ Age'. comme argument.
Créez une nouvelle paire clé-valeur avec les valeurs définies à l'aide de la méthode setdefault().
Imprimez le dictionnaire résultant après avoir ajouté le 3ème ensemble.
Exemple
Le programme suivant crée un dictionnaire d'ensembles et accède à ses éléments à l'aide de la méthode setdefault() -
# creating a dictionary containing the values as sets
# (dictionary of sets)
inputDict = {'Employ ID': {10, 11, 12, 14, 15, 11},
'Employ Age': {25, 30, 40, 35, 28, 28}}
# accessing the values of 'Employ ID' of the dictionary as a set
# using setdefault() function
print("Accessing Employ ID:", inputDict.setdefault('Employ ID'))
# accessing the values of 'Employ Age' of dictionary as a set
# using setdefault() function
print("Accessing Employ Age:", inputDict.setdefault('Employ Age'))
# set the third set of values for the dictionary using setdefault method
# Employee names
inputDict = inputDict.setdefault(
'Employ Name', {'rohit', 'virat', 'pandya', 'smith', 'warner'})
# printing the dictionary after adding 3rd set
print(inputDict)
Sortir
Lors de l'exécution, le programme ci-dessus générera la sortie suivante -
Accessing Employ ID: {10, 11, 12, 14, 15}
Accessing Employ Age: {35, 40, 25, 28, 30}
{'pandya', 'rohit', 'smith', 'virat', 'warner'}
Conclusion
Dans cet article, nous avons appris à utiliser 3 méthodes différentes pour créer un dictionnaire d'ensembles en Python. Ceci est nécessaire pour supprimer les données en double pour certaines clés, comme ne conserver que les numéros de rôle uniques, les identifiants de travail uniques, etc. Nous avons également appris à utiliser la fonction setdefault() pour récupérer le dictionnaire des ensembles.