Dictionnaire Python

Un dictionnaire est un autre modèle de conteneur mutable pouvant stocker des objets de tout type.

Chaque paire clé-valeur du dictionnairekey:valueest séparée par un deux-points:et chaque paire clé-valeur est séparée par une virgule,et le dictionnaire entier est entouré d'accolades{}comme indiqué dans le format suivant :

d = {key1 : value1, key2 : value2 }

Remarque :dictComme les mots-clés et fonctions intégrées de Python, il n'est pas recommandé de nommer des variablesdict。

Les clés sont généralement uniques. Si une clé en double apparaît, la dernière paire clé-valeur remplacera la précédente. Les valeurs n'ont pas besoin d'être uniques.

>>> tinydict = {'a': 1, 'b': 2, 'b': '3'}
>>> tinydict['b']
'3'
>>> tinydict
{'a': 1, 'b': '3'}

Les valeurs peuvent être de n'importe quel type de données, mais les clés doivent être immuables, comme les chaînes de caractères, les nombres ou les tuples.

Un exemple simple de dictionnaire :

tinydict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

Vous pouvez également créer un dictionnaire comme ceci :

tinydict1 = { 'abc': 456 } tinydict2 = { 'abc': 123, 98.6: 37 }

Accéder aux valeurs d'un dictionnaire

Placez la clé correspondante entre les crochets habituels, comme dans l'exemple suivant :

Exemple

#!/usr/bin/python tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "tinydict['Name']: ", tinydict['Name'] print "tinydict['Age']: ", tinydict['Age']

La sortie de l'exemple ci-dessus est :

tinydict['Name']:  Zara
tinydict['Age']:  7

Si vous utilisez une clé qui n'existe pas dans le dictionnaire pour accéder aux données, une erreur sera affichée comme suit :

Exemple

#!/usr/bin/python tinydict = {'Name': 'Example', 'Age': 7, 'Class': 'First'} print "tinydict['Alice']: ", tinydict['Alice']

La sortie de l'exemple ci-dessus est :

tinydict['Alice']: 
Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print "tinydict['Alice']: ", tinydict['Alice']
KeyError: 'Alice'


Modifier un dictionnaire

La façon d'ajouter du nouveau contenu à un dictionnaire est d'ajouter de nouvelles paires clé/valeur, de modifier ou de supprimer des paires clé/valeur existantes comme le montre l'exemple suivant :

Exemple

#!/usr/bin/python # -*- coding: UTF-8 -*- tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} tinydict['Age'] = 8 # Mettre à jour tinydict['School'] = "EXAMPLE" # Ajouter print "tinydict['Age']: ", tinydict['Age'] print "tinydict['School']: ", tinydict['School']
La sortie de l'exemple ci-dessus est :
tinydict['Age']:  8
tinydict['School']:  EXAMPLE


Suppression des éléments d'un dictionnaire

Vous pouvez supprimer un seul élément ou effacer tout le dictionnaire. L'effacement ne nécessite qu'une seule opération.

Pour supprimer explicitement un dictionnaire, utilisez la commande del, comme dans l'exemple suivant :

Exemple

#!/usr/bin/python # -*- coding: UTF-8 -*- tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} del tinydict['Name'] # Supprimer l'entrée avec la clé 'Name' tinydict.clear() # Effacer toutes les entrées du dictionnaire del tinydict # Supprimer le dictionnaire print "tinydict['Age']: ", tinydict['Age'] print "tinydict['School']: ", tinydict['School']

Mais cela va lever une exception, car après avoir utilisé del, le dictionnaire n'existe plus :

tinydict['Age']: 
Traceback (most recent call last):
  File "test.py", line 10, in <module>
    print "tinydict['Age']: ", tinydict['Age'] 
NameError: name 'tinydict' is not defined

Remarque :La méthode del() sera également abordée plus tard.


Caractéristiques des clés de dictionnaire

Les valeurs d'un dictionnaire peuvent être n'importe quel objet Python sans limitation, qu'il s'agisse d'objets standard ou définis par l'utilisateur, mais les clés ne le peuvent pas.

Deux points importants à retenir :

1) Une même clé ne peut pas apparaître deux fois. Si la même clé est assignée deux fois lors de la création, la dernière valeur sera conservée, comme dans l'exemple suivant :

Exemple

#!/usr/bin/python tinydict = {'Name': 'Example', 'Age': 7, 'Name': 'Manni'} print "tinydict['Name']: ", tinydict['Name']

La sortie de l'exemple ci-dessus est :

tinydict['Name']:  Manni

2) Les clés doivent être immuables, donc des nombres, des chaînes de caractères ou des tuples peuvent être utilisés, mais pas des listes, comme dans l'exemple suivant :

Exemple

#!/usr/bin/python tinydict = {['Name']: 'Zara', 'Age': 7} print "tinydict['Name']: ", tinydict['Name']

La sortie de l'exemple ci-dessus est :

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    tinydict = {['Name']: 'Zara', 'Age': 7} 
TypeError: unhashable type: 'list'


Fonctions et méthodes intégrées des dictionnaires

Le dictionnaire Python comprend les fonctions intégrées suivantes :

NuméroFonction et description
1cmp(dict1, dict2)
Compare les éléments de deux dictionnaires.
2len(dict)
Compte le nombre d'éléments du dictionnaire, c'est-à-dire le nombre total de clés.
3str(dict)
Affiche une représentation sous forme de chaîne imprimable du dictionnaire.
4type(variable)
Renvoie le type de la variable d'entrée. Si la variable est un dictionnaire, il renvoie le type dictionnaire.

Le dictionnaire Python comprend les méthodes intégrées suivantes :

NuméroFonction et description
1dict.clear()
Supprime tous les éléments du dictionnaire.
2dict.copy()
Renvoie une copie superficielle d'un dictionnaire.
3dict.fromkeys(seq[, val])
Crée un nouveau dictionnaire, en utilisant les éléments de la séquence seq comme clés du dictionnaire, et val comme valeur initiale correspondant à toutes les clés.
4dict.get(key, default=None)
Renvoie la valeur de la clé spécifiée. Si la clé n'est pas dans le dictionnaire, renvoie la valeur par défaut.
5dict.has_key(key)
Renvoie true si la clé est dans le dictionnaire dict, sinon renvoie false.Non pris en charge dans Python3.
6dict.items()
Renvoie un tableau parcourable de tuples (clé, valeur) sous forme de liste.
7dict.keys()
Renvoie une liste de toutes les clés d'un dictionnaire.
8dict.setdefault(key, default=None)
Semblable à get(), mais si la clé n'existe pas dans le dictionnaire, il ajoute la clé et définit la valeur sur default.
9dict.update(dict2)
Met à jour les paires clé/valeur du dictionnaire dict2 dans dict.
10dict.values()
Renvoie une liste de toutes les valeurs d'un dictionnaire.
11pop(key[,default])
Supprime la valeur correspondant à la clé donnée dans le dictionnaire, et renvoie la valeur supprimée. La clé doit être fournie. Sinon, renvoie la valeur par défaut.
12 popitem()
Renvoie et supprime la dernière paire clé-valeur du dictionnaire.
Autres extensions