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 :
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['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 :
Vous pouvez également créer un dictionnaire comme ceci :
Accéder aux valeurs d'un dictionnaire
Placez la clé correspondante entre les crochets habituels, comme dans l'exemple suivant :
Exemple
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
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
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
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
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
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éro | Fonction et description |
|---|---|
| 1 | cmp(dict1, dict2) Compare les éléments de deux dictionnaires. |
| 2 | len(dict) Compte le nombre d'éléments du dictionnaire, c'est-à-dire le nombre total de clés. |
| 3 | str(dict) Affiche une représentation sous forme de chaîne imprimable du dictionnaire. |
| 4 | type(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éro | Fonction et description |
|---|---|
| 1 | dict.clear() Supprime tous les éléments du dictionnaire. |
| 2 | dict.copy() Renvoie une copie superficielle d'un dictionnaire. |
| 3 | dict.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. |
| 4 | dict.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. |
| 5 | dict.has_key(key) Renvoie true si la clé est dans le dictionnaire dict, sinon renvoie false.Non pris en charge dans Python3. |
| 6 | dict.items() Renvoie un tableau parcourable de tuples (clé, valeur) sous forme de liste. |
| 7 | dict.keys() Renvoie une liste de toutes les clés d'un dictionnaire. |
| 8 | dict.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. |
| 9 | dict.update(dict2) Met à jour les paires clé/valeur du dictionnaire dict2 dans dict. |
| 10 | dict.values() Renvoie une liste de toutes les valeurs d'un dictionnaire. |
| 11 | pop(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. |