Dictionnaire en Python avec syntaxe et exemple

Qu’est-ce qu’un dictionnaire en 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 joignant une liste de paires clé-valeur séparées par des virgules à l'aide d'accolades ({}). Le dictionnaire Python est classé en deux éléments : les clés et les 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 du dictionnaire Python

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.

Syntaxe du dictionnaire Python

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 de dictionnaire sont sensibles à la casse. Même nom de clé mais avec des casses différentes, elles sont traitées comme des clés différentes dans les dictionnaires Python.

Exemple Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}   
print (Dict['Tiffany'])

Exemple Python 3

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.

Méthodes du dictionnaire Python

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 ».

Exemple Python 2

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

Exemple Python 3

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.

Exemple Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
Dict.update({"Sarah":9})
print Dict

Exemple Python 3

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

Le dictionnaire Python 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é en suivantwing code.

Exemple Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
del Dict ['Charlie']
print Dict

Exemple Python 3

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.

Exemple Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Students Name: %s" % Dict.items()

Exemple Python 3

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.

Exemple Python 2

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


Exemple Python 3

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)
  • Le 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.

Exemple Python 2

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])))

Exemple Python 3

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.

Fonctions intégrées du dictionnaire Python

Méthode Dictionnaire len()

La fonction len() donne le nombre de paires dans le dictionnaire.

Par exemple,

Exemple Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "Length : %d" % len (Dict)

Exemple Python 3

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 n'a pas besoin de déclarer explicitement l'espace mémoire réservé ; 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) ».

Exemple Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "variable Type: %s" %type (Dict)

Exemple Python 3

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

Méthode Python Liste cmp()

La méthode de comparaison cmp() est utilisée en 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.

Exemple Python 2

Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}	
print cmp(Girls, Boys)

Exemple Python 3

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.

Exemple Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}	
print "printable string:%s" % str (Dict)

Exemple Python 3

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

Method 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 ** (à partir de Python 3.5)

Le ** s'appelle Kwargs en Python et 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.
  • Le dictionnaire Python 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 de dictionnaire sont sensibles à la casse. Même nom de clé mais avec des casses différentes, elles sont traitées comme des clés différentes dans les dictionnaires Python.