Dictionnaire en Python avec syntaxe et exemple
Qu'est-ce qu'un dictionnaire dans Python?
A Dictionnaire en Python est la collection non ordonnée et modifiable de valeurs de données qui contient des paires clé-valeur. Chaque paire clé-valeur du dictionnaire mappe la clé à sa valeur associée, ce qui la rend plus optimisée. Un dictionnaire en python est déclaré en enfermant une liste séparée par des virgules de paires clé-valeur à l'aide d'accolades ({}). Python Le dictionnaire est classé en deux éléments : clés et valeurs.
- Les clés seront un seul élément
- Les valeurs peuvent être une liste ou une liste dans une liste, des nombres, etc.
Syntaxe pour Python Dictionnaire
Dict = { ' Tim': 18, xyz,.. }
Le dictionnaire est répertorié entre accolades, à l’intérieur de ces accolades, les clés et les valeurs sont déclarées. Chaque clé est séparée de sa valeur par deux points (:), tandis que des virgules séparent chaque élément.
Propriétés des clés de dictionnaire
Il y a deux points importants lors de l'utilisation des clés du dictionnaire
- Plus d'une entrée par clé n'est pas autorisée (aucune clé en double n'est autorisée)
- Les valeurs du dictionnaire peuvent être de n'importe quel type, tandis que les clés doivent être immuables comme les nombres, tuples
- Les clés du dictionnaire sont sensibles à la casse. Même nom de clé mais avec les différentes casses, elles sont traitées comme des clés différentes dans Python dictionnaires.
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print (Dict['Tiffany'])
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print((Dict['Tiffany']))
- Dans le code, nous avons le nom du dictionnaire « Dict »
- Nous avons déclaré le nom et l'âge de la personne dans le dictionnaire, où le nom est « Clés » et l'âge est la « valeur ».
- Maintenant, exécutez le code
- Il récupère l'âge de Tiffany dans le dictionnaire.
Python Méthodes de dictionnaire
Copie du dictionnaire
Vous pouvez également copier l'intégralité du dictionnaire vers un nouveau dictionnaire. Par exemple, nous avons copié ici notre dictionnaire original sous le nouveau nom de dictionnaire « Garçons » et « Filles ».
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print studentX print studentY
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print(studentX) print(studentY)
- Nous avons le dictionnaire original (Dict) avec le nom et l'âge des garçons et des filles ensemble
- Mais nous voulons que la liste des garçons soit séparée de la liste des filles, nous avons donc défini l'élément garçons et filles dans un dictionnaire distinct nommé « Garçons » et « Filles ».
- Maintenant encore, nous avons créé un nouveau nom de dictionnaire « étudiant X » et « étudiant Y », où toutes les clés et valeurs du dictionnaire garçon sont copiées dans l'étudiant X, et les filles seront copiées dans l'étudiant Y.
- Alors maintenant, vous n'avez plus besoin de consulter toute la liste dans le dictionnaire principal (Dict) pour vérifier qui est un garçon et qui est une fille, il vous suffit d'imprimer l'élève X si vous voulez la liste des garçons et StudentY si vous voulez la liste des filles.
- Ainsi, lorsque vous exécuterez le dictionnaire étudiant X et étudiant Y, il donnera tous les éléments présents dans le dictionnaire des « garçons » et des « filles » séparément.
Mise à jour du dictionnaire
Vous pouvez également mettre à jour un dictionnaire en ajoutant une nouvelle entrée ou une paire clé-valeur à une entrée existante ou en supprimant une entrée existante. Ici, dans l'exemple, nous ajouterons un autre nom, « Sarah » à notre dictionnaire existant.
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print Dict
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print(Dict)
- Notre dictionnaire existant « Dict » ne porte pas le nom « Sarah ».
- Nous utilisons la méthode Dict.update pour ajouter Sarah à notre dictionnaire existant
- Maintenant, exécutez le code, il ajoute Sarah à notre dictionnaire existant
Supprimer les clés du dictionnaire
Python Le dictionnaire vous donne la liberté de supprimer n'importe quel élément de la liste du dictionnaire. Supposons que vous ne vouliez pas que le nom Charlie soit dans la liste, vous pouvez donc supprimer l'élément clé avec le code suivant.
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print Dict
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print(Dict)
Lorsque vous exécutez ce code, il devrait imprimer la liste des dictionnaires sans Charlie.
- Nous avons utilisé le code del Dict
- Une fois le code exécuté, il a supprimé le Charlie du dictionnaire principal
Méthode Éléments du dictionnaire()
La méthode items() renvoie une liste de paires de tuples (Clés, Valeur) dans le dictionnaire.
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Students Name: %s" % Dict.items()
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Students Name: %s" % list(Dict.items()))
- Nous utilisons la méthode code items() pour notre Dict.
- Lorsque le code a été exécuté, il renvoie une liste d'éléments (clés et valeurs) du dictionnaire
Vérifier si une clé donnée existe déjà dans un dictionnaire
Pour une liste donnée, vous pouvez également vérifier si notre dictionnaire enfant existe ou non dans le dictionnaire principal. Ici, nous avons deux sous-dictionnaires « Boys » et « Girls », nous voulons maintenant vérifier si notre dictionnaire Boys existe dans notre « Dict » principal ou non. Pour cela, nous utilisons la méthode de boucle for avec la méthode else if.
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in Boys.keys(): if key in Dict.keys(): print True else: print False
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in list(Boys.keys()): if key in list(Dict.keys()): print(True) else: print(False)
- Les boucle forcée dans le code vérifie chaque clé du dictionnaire principal pour les clés Boys
- S'il existe dans le dictionnaire principal, il doit s'afficher vrai ou bien il doit s'imprimer faux.
- Lorsque vous exécutez le code, il affichera « True » trois fois, car nous avons trois éléments dans notre dictionnaire « Boys »
- Cela indique donc que les « Boys » existent dans notre dictionnaire principal (Dict)
Trier le dictionnaire
Dans le dictionnaire, vous pouvez également trier les éléments. Par exemple, si nous voulons imprimer le nom des éléments de notre dictionnaire par ordre alphabétique, nous devons utiliser la boucle for. Il triera chaque élément du dictionnaire en conséquence.
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = Dict.keys() Students.sort() for S in Students: print":".join((S,str(Dict[S])))
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = list(Dict.keys()) Students.sort() for S in Students: print(":".join((S,str(Dict[S]))))
- Nous avons déclaré la variable étudiants pour notre dictionnaire « Dict ».
- Ensuite, nous utilisons le code Students.sort, qui triera l'élément dans notre dictionnaire
- Mais pour trier chaque élément du dictionnaire, on exécute la boucle for en déclarant la variable S
- Désormais, lorsque nous exécutons le code, la boucle for appellera chaque élément du dictionnaire et imprimera la chaîne et la valeur dans un ordre.
Python Fonctions intégrées au dictionnaire
Méthode Dictionnaire len()
La fonction len() donne le nombre de paires dans le dictionnaire.
Par exemple,
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Length : %d" % len (Dict)
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Length : %d" % len (Dict))
Lorsque la fonction len (Dict) est exécutée, elle donne la sortie à « 4 » car il y a quatre éléments dans notre dictionnaire
Types de variables
Python ne nécessite pas de déclarer explicitement l'espace mémoire de réserve ; cela se produit automatiquement. Les valeurs attribuées à la variable « = » signe égal sont utilisées. Le code pour déterminer le type de variable est « %type (Dict) ».
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "variable Type: %s" %type (Dict)
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("variable Type: %s" %type (Dict))
- Utilisez le code %type pour connaître le type de variable
- Lorsque le code a été exécuté, il indique qu'un type de variable est un dictionnaire
Python Liste méthode cmp()
La méthode de comparaison cmp() est utilisée dans Python pour comparer les valeurs et les clés de deux dictionnaires. Si la méthode renvoie 0 si les deux dictionnaires sont égaux, 1 si dic1 > dict2 et -1 si dict1 < dict2.
Python 2 Exemple
Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} print cmp(Girls, Boys)
Python 3 Exemple
cmp is not supported in Python 3
- Nous avons deux noms de dictionnaire, « Garçons » et « Filles ».
- Celui que vous déclarez en premier dans le code « cmp(Girls, Boys) » sera considéré comme le dictionnaire 1. Dans notre cas, nous avons déclaré « Girls » en premier, il sera donc considéré comme le dictionnaire 1 et les garçons comme le dictionnaire 2.
- Lorsque le code est exécuté, il affiche -1, cela indique que notre dictionnaire 1 est inférieur au dictionnaire 2.
Dictionnaire Str(dict)
Avec la méthode Str(), vous pouvez créer un dictionnaire dans un format de chaîne imprimable.
Python 2 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "printable string:%s" % str (Dict)
Python 3 Exemple
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("printable string:%s" % str (Dict))
- Utilisez le code % str (Dict)
- Il renverra les éléments du dictionnaire dans un format de chaîne imprimable
Voici la liste de toutes les méthodes de dictionnaire
Méthode | Description | Syntaxe |
---|---|---|
copie() | Copiez l'intégralité du dictionnaire dans un nouveau dictionnaire | dict.copie() |
mettre à jour () | Mettez à jour un dictionnaire en ajoutant une nouvelle entrée ou une paire clé-valeur à une entrée existante ou en supprimant une entrée existante. | Dict.update([autre]) |
éléments() | Renvoie une liste de paires de tuples (Clés, Valeur) dans le dictionnaire. | dictionnaire.items() |
sorte() | Vous pouvez trier les éléments | dictionnaire.sort() |
len () | Donne le nombre de paires dans le dictionnaire. | len(dict) |
cmp() | Comparez les valeurs et les clés de deux dictionnaires | cmp(dict1, dict2) |
Str () | Créer un dictionnaire dans un format de chaîne imprimable | Str(dict) |
Fusionner des dictionnaires
Nous comprendrons ici comment fusionner deux dictionnaires donnés en un seul dictionnaire.
J'ai deux dictionnaires comme indiqué ci-dessous :
Dictionnaire1 : mon_dict1
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
Dictionnaire 2 : mon_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
Fusionnons ces deux dictionnaires my_dict1 et my_dict2 et créons un seul dictionnaire avec namemy_dict.
Fusionner deux dictionnaires en utilisant la méthode update()
La méthode update() nous aidera à fusionner un dictionnaire avec un autre. Dans l'exemple, nous mettrons à jour my_dict1 avec my_dict2. Après avoir utilisé la méthode update(), my_dict1 aura le contenu de my_dict2 comme indiqué ci-dessous :
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict1.update(my_dict2) print(my_dict1)
Sortie :
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Fusion de dictionnaires à l'aide de la méthode ** (De Python 3.5 et suivants)
Le ** s'appelle Kwargs en Python, et cela fonctionnera avec Python version 3.5+. En utilisant **, nous pouvons fusionner deux dictionnaires et cela renverra le dictionnaire fusionné. Utiliser ** devant la variable remplacera la variable avec tout son contenu.
Voici un exemple fonctionnel d'utilisation de ** pour fusionner deux répertoires.
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict = {**my_dict1, **my_dict2} print(my_dict)
Sortie :
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Test d'appartenance au dictionnaire
Vous pouvez tester si une clé est présente ou non dans un dictionnaire. Ce test ne peut être effectué que sur la clé d'un dictionnaire et non sur la valeur. Le test d'adhésion se fait à l'aide du in mot-clé. Lorsque vous vérifiez la clé dans le dictionnaire à l'aide du in mot-clé, l'expression renvoie vrai si la clé est présente et faux sinon.
Voici un exemple qui montre le test d'adhésion sur un dictionnaire.
my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} print("email" in my_dict) print("location" in my_dict) print("test" in my_dict)
Sortie :
True True False
Résumé
- Les dictionnaires dans un langage de programmation sont un type de structure de données utilisé pour stocker des informations connectées d'une manière ou d'une autre.
- Python Le dictionnaire est défini en deux éléments Clés et Valeurs.
- Les dictionnaires ne stockent pas leurs informations dans un ordre particulier, vous ne pourrez donc pas récupérer vos informations dans le même ordre dans lequel vous les avez saisies.
- Les clés seront un seul élément
- Les valeurs peuvent être une liste ou une liste dans une liste, des nombres, etc.
- Plus d'une entrée par clé n'est pas autorisée (aucune clé en double n'est autorisée)
- Les valeurs du dictionnaire peuvent être de n'importe quel type, tandis que les clés doivent être immuables comme des nombres, des tuples ou des chaînes.
- Les clés du dictionnaire sont sensibles à la casse. Même nom de clé mais avec les différentes casses, elles sont traitées comme des clés différentes dans Python dictionnaires.