Vous cherchez à apprendre à travailler avec des dictionnaires Python ? Ce tutoriel couvrira Méthodes du dictionnaire Python pour lire, modifier et effectuer d'autres opérations courantes sur les dictionnaires Python.
Nous allons commencer par passer en revue les bases des dictionnaires Python, puis créer un exemple de dictionnaire et le modifier à l'aide des méthodes de dictionnaire Python.
Commençons…
Un aperçu des dictionnaires Python
Dictionnaires sont des structures de données intégrées à Python. Il vous permet de stocker des éléments dans des paires clé-valeur, en définissant une association ou un mappage entre les clés et les valeurs.
Les clés d'un dictionnaire doivent être uniques (pour qu'elles soient hachable). Vous pouvez utiliser la clé pour rechercher la valeur ou utiliser des méthodes intégrées (vous les apprendrez bientôt).
Lors de la création d'un dictionnaire Python, vous pouvez initialiser toutes les paires clé-valeur ou initialiser un dictionnaire vide, puis ajouter les paires clé-valeur.
>>> dict1 = {'language':'Python','like':True}
>>> type(dict1)
<class 'dict'>
# or we can do the following:
>>> dict1 = {}
>>> dict1['language']='Python'
>>> dict1['like']=True
Méthodes du dictionnaire Python pour les opérations courantes
Notes: Pour suivre les exemples de code, vous devez avoir installé Python 3.7 ou une version ultérieure.
Vous pouvez coder dans un REPL Python. Ou suivez Geekflare's éditeur Python en ligne.
>>> person = {'name':'Alice',
... 'city':'Portland',
... 'interest':'Programming',
... 'profession':'Developer'
... }
Maintenant que nous avons initialisé un dictionnaire Python, passons en revue les différentes méthodes de dictionnaire.
Get the Dictionary Keys with keys()
L'une des opérations courantes lorsque vous travaillez avec un dictionnaire Python consiste à accéder à toutes les clés, valeurs et paires clé-valeur. Pour obtenir les clés d'un dictionnaire, vous pouvez appeler le keys()
méthode comme indiqué :
>>> person.keys()
dict_keys(['name', 'city', 'interest', 'profession'])
Get the Dictionary Values with values()
Les values()
La méthode renvoie toutes les valeurs et est utile lorsque vous souhaitez traiter davantage ces valeurs.
Accédons à toutes les valeurs du person
dictionnaire:
>>> person.values()
dict_values(['Alice', 'Portland', 'Programming', 'Developer'])
Get Key-Value Pairs with items()
Les items()
La méthode renvoie une liste de tuples de valeurs-clés. Par conséquent, l'appel de cette méthode sur le person
dictionnaire renvoie une liste de tuples clé-valeur :
>>> person.items()
dict_items([('name', 'Alice'), ('city', 'Portland'), ('interest', 'Programming'),
('profession', 'Developer')])
Get a Shallow Copy with copy()

Les copy()
méthode retourne un copie superficielle d'un dictionnaire Python.
>>> person_cpy = person.copy()
Ici, person_cpy
est une copie superficielle du person
dictionnaire. Modifions cette copie en mettant à jour la clé 'name' en 'Bob'.
>>> person_cpy['name'] = 'Bob'
>>> person_cpy
Maintenant, si vous examinez le contenu du dictionnaire, vous pouvez voir que le 'nom' a été mis à jour en 'Bob'.
{
'name': 'Bob',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer'
}
Cependant, l'original person
dictionnaire n'a pas été modifié.
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer'
}
Set Default Values with setdefault()
Lorsque vous travaillez avec des dictionnaires Python, il est courant de rencontrer KeyError
exception si la clé n'est pas présente dans le dictionnaire. Voici un exemple lorsque nous essayons d'accéder à la clé 'age' :
>>> person['age']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'age'
Vous pouvez éviter de telles erreurs en utilisant les méthodes intégrées setdefault()
et get()
méthodes au lieu d'accéder à la valeur comme ci-dessus.
Les setdefault(key)
retourne la méthode dict['key']
si la clé est présente dans le dict
.
>>> person.setdefault('name')
'Alice'
Lorsque la clé n'est pas présente, il ajoute la clé au dictionnaire avec la valeur par défaut de None
.
>>> person.setdefault('address')
>>> person
Ici, la clé 'adresse' n'est pas présente dans le person
dictionnaire. Mais nous voyons qu'il a été ajouté avec la valeur par défaut de None
.
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': None
}
Nous pouvons maintenant définir la clé 'address' sur une adresse :
>>> person['address'] = "10, xyz street"
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street'
}
Vous pouvez également spécifier la valeur dans l'appel de méthode, comme indiqué :
>>> person.setdefault('country','USA')
'USA'
>>> person
Comme la clé 'pays' n'est pas présente à l'origine dans le person
dictionnaire, nous voyons qu'il a été ajouté avec 'USA' comme valeur.
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA'
}
Get a Specific Value with get()
Les get()
La méthode renvoie la valeur correspondant à la clé. Ça aussi facultativement prend une autre valeur par défaut qui est renvoyée si la clé est pas trouvé dans le dictionnaire.
Lorsque nous essayons d'accéder à la valeur de la clé 'name', nous obtenons 'Alice' car la clé est présente dans person
:
>>> person.get('name')
'Alice'
Les person
dictionnaire n'a pas de clé 'gpa'. Ainsi, lorsque nous essayons d'obtenir sa valeur, nous n'obtenons rien au REPL Python. Cependant, si vous imprimez la valeur, vous obtiendrez None
.
>>> person.get('gpa')
>>> print(person.get('gpa'))
None
Mais si vous fournissez la valeur par défaut facultative, nous obtenons cette valeur au lieu de None
.
>>> person.get('gpa','not found')
'not found'
Toutefois, malgré la get()
La méthode n'ajoute pas la clé 'gpa' au dictionnaire.
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA'
}
Comprendre setdefault() vs get()
Bien que les deux setdefault()
et get()
méthodes peuvent être utilisées pour gérer KeyError, résumons les différences par rapport à ce que nous avons appris :
dict.setdefault(key,val)
ajoute lekey
avecval
comme valeur par défaut. Sival
n'est pas fourni, lekey
est ajouté avec la valeur par défaut deNone
.dict.get(key,val)
renvoie la valeur correspondant à la clé du dictionnaire Python. Si lakey
n'est pas présent, il revientval
(si fourni) ouNone
-mais n'ajoute pas lekey
au dictionnaire.
Vous pouvez également utiliser défautdtic en Python pour mieux gérer les KeyErrors.
Update Dictionary Contents with update()
Vous pouvez mettre à jour un dictionnaire Python existant à l'aide de paires clé-valeur d'un autre dictionnaire. Vous pouvez également mettre à jour avec le contenu de n'importe quel itérable Python en utilisant le update()
méthode.
Définissons un more_details
dictionnaire. Nous mettons ensuite à jour le person
dictionnaire avec le contenu de more_details
dictionnaire:
>>> more_details = {'hobby':'singing', 'likes':'sweets'}
>>> person.update(more_details)
À partir de la sortie ci-dessous, nous voyons que les clés "hobby" et "likes" ont été ajoutées au person
dictionnaire.
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA',
'hobby': 'singing',
'likes': 'sweets'
}
Remove the Last-Added Item with popitem()

Les popitem()
La méthode du dictionnaire peut être utilisée pour supprimer la dernière paire clé-valeur ajoutée.
>>> person.popitem()
('likes', 'sweets')
Comme on le voit, appeler le popitem()
La méthode sur le dictionnaire de personnes renvoie la paire clé-valeur ('likes','sweets') — le dernier élément ajouté dans le dictionnaire.
Il supprime également la paire clé-valeur. Vous pouvez le confirmer en examinant le contenu du dictionnaire :
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA',
'hobby': 'singing'
}
Remove a Dictionary Item with pop()
Nous savons que le popitem()
La méthode du dictionnaire supprime et renvoie la dernière paire clé-valeur dans un dictionnaire Python. Cependant, nous pouvons parfois avoir besoin de supprimer d'autres éléments, autres que la dernière paire clé-valeur ajoutée.
Pour ce faire, nous pouvons utiliser la méthode du dictionnaire Python pop()
: utilisant .pop(key)
sur le dictionnaire renvoie la valeur correspondant à la key
et supprime également la paire clé-valeur du dictionnaire.
Voici un exemple :
>>> person.pop('hobby')
'singing'
Au fur et à mesure que nous avons dépilé l'item correspondant à la clé 'hobby', nous voyons qu'il n'est plus présent dans le dictionnaire.
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA'
}
Si nous passons une clé qui n'existe pas, nous rencontrons KeyError
exception, comme indiqué :
>>> person.pop('age')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'age'
Ici, nous nous heurtons à un KeyError
exception car la clé 'age' n'est pas présente dans le dictionnaire de personnes.
Contrairement au liste pop()
méthode qui supprime le dernier élément par défaut, le dictionnaire pop()
méthode a besoin une clé. Si vous ne spécifiez pas de clé dans la méthode, nous rencontrerons des erreurs.
>>> person.pop()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: pop expected at least 1 argument, got 0
Delete All Dictionary Items with clear()
Le dictionnaire pop()
et popitem()
suppriment une paire clé-valeur à la fois. Si vous souhaitez supprimer tous les éléments d'un dictionnaire, vous pouvez utiliser la clear()
méthode.
>>> person.clear()
>>> person
{}
Comme on le voit, appeler le clear()
méthode sur le person
dictionnaire supprime toutes les paires clé-valeur et le person
dictionnaire est maintenant vide.
Résumé des méthodes de dictionnaire Python

Voici un bref aperçu des méthodes de dictionnaire Python que nous avons apprises.
Méthode d'envoi | Syntaxe | Description |
---|---|---|
clés() | dict1.keys() | Renvoie les clés de dict1 |
valeurs () | dict1.values() | Renvoie les valeurs de dict1 |
éléments() | dict1.items() | Renvoie une liste de toutes les paires clé-valeur dans dict1 |
copie() | dict1.copy() | Renvoie une copie superficielle de dict1 |
définir par defaut() | dict1.setdefault(key, default_value) | - Ajoute key avec l'option default_value comme la clé de dict1 (lorsqu'il n'est pas spécifié, la valeur par défaut est None )- Retour dict1[key] si le key est déjà présent |
get () | dict1.get(key,default_value) | - Retour dict1[key] si la clé est présente dans dict1 ; Sinon, renvoie le default_value - Si key n'est pas présent dans dict1 et default_value n'est pas spécifié, renvoie None |
mettre à jour () | dict1.update(iterable1) | Actualités dict1 avec des paires clé-valeur de iterable1 |
popitem() | dict1.popitem() | Supprime et renvoie la dernière paire clé-valeur de dict1 |
populaire() | dict1.pop(key) | – Supprime et renvoie la valeur correspondant au key : dict1[key] – Lève un KeyError si la clé n'est pas présente dans dict1 |
clair() | dict1.clear() | Supprime tous les éléments de dict1 |
Conclusion
Vous avez appris à utiliser des méthodes courantes pour effectuer des opérations de lecture, de mise à jour et de suppression sur des dictionnaires Python. De plus, vous avez également appris comment le get()
les nouveautés setdefault()
méthodes peuvent être utilisées pour gérer KeyError
exceptions en renvoyant une valeur par défaut et en ajoutant une entrée avec une valeur par défaut au dictionnaire Python, respectivement. Vous pouvez aussi trier un dictionnaire Python par clé ou par valeur.
Ensuite, consultez la liste des informations utiles Méthodes de liste Python. Bon codage !