Comment créer un dictionnaire en Python ?

En Python, le dictionnaire est une structure de données très utilisée pour associer une clé à une valeur. Il permet de retrouver rapidement une information à partir d’un identifiant lisible, ce qui le rend adapté au stockage de données structurées, aux échanges de données et aux paramètres de configuration.

En résumé :

Le dictionnaire Python organise vos données par clés pour un accès et une modification rapides, ce qui facilite la gestion de configurations, échanges et objets structurés.

  • Choisissez la méthode de création selon le contexte : {} pour une structure connue, dict() pour convertir des formats existants, dict.fromkeys() pour initialiser plusieurs clés.
  • Vérifiez que les clés sont immuables (str, int, tuple) afin d’éviter les erreurs de type et garantir la stabilité du mapping.
  • Prévoyez l’accès sécurisé aux données avec get(), l’opérateur in ou un try/except pour gérer proprement les absences de clé (KeyError).
  • Modifiez et ajoutez via l’affectation par clé, en adoptant des noms de clés lisibles ; si une clé est réaffectée, la dernière valeur est conservée.

Qu’est-ce qu’un dictionnaire en Python ?

Un dictionnaire, de type dict, est une collection de paires clé-valeur. Chaque clé est unique dans un même dictionnaire, et elle sert à accéder à la valeur correspondante. Contrairement à une liste, qui s’appuie sur des indices numériques, le dictionnaire repose sur des clés alphanumériques ou d’autres types immuables.

Cette différence change la manière de penser les données. Une liste convient bien à une suite ordonnée, alors qu’un dictionnaire est plus adapté lorsqu’on veut représenter un objet, un profil, un paramètre ou tout ensemble d’informations nommées.

Voici un exemple simple de dictionnaire :

{"brand": "Ford", "model": "Mustang", "year": 1964}

Dans cet exemple, brand, model et year sont des clés, tandis que Ford, Mustang et 1964 sont les valeurs associées.

Les différentes manières de créer un dictionnaire

Python propose plusieurs façons de créer un dictionnaire. Le choix dépend surtout de la forme des données que vous avez déjà sous la main, ou du niveau de lisibilité recherché dans le code.

Pour des projets web, le choix de la structure de données affecte souvent le développement, notamment pour les progressive web apps (PWA).

Créer un dictionnaire avec la syntaxe littérale {}

La syntaxe littérale est la méthode la plus courante et la plus concise. Elle consiste à placer des paires clé: valeur entre accolades, séparées par des virgules. Cette écriture est très claire lorsqu’on connaît déjà la structure des données.

Par exemple, on peut définir une voiture de cette manière :

voiture = {"marque": "Ford", "modele": "Mustang", "année": 1964}

Pour créer un dictionnaire vide, il suffit d’écrire {}. C’est utile lorsqu’on souhaite le remplir ensuite, étape par étape.

d = {}

Utiliser le constructeur dict()

Le constructeur dict() offre une autre manière de créer un dictionnaire. Il peut recevoir des mots-clés nommés, un autre mapping, ou encore un itérable de paires clé-valeur, souvent sous forme de liste de tuples.

Cette méthode est intéressante quand les données existent déjà dans une structure exploitable. Par exemple :

personne = dict(nom="Jean", âge=30, ville="Paris")

On peut aussi convertir une liste de tuples en dictionnaire :

liste = [("marque", "Ford"), ("modele", "Mustang")]
d = dict(liste)

Et pour créer un dictionnaire vide, dict() fonctionne également. Cette approche est souvent appréciée quand les données arrivent déjà sous forme structurée.

Autres méthodes de création

La méthode fromkeys() permet de créer rapidement un dictionnaire à partir d’une séquence de clés, avec une même valeur de départ pour toutes les entrées. C’est utile pour initialiser des champs avec une valeur par défaut commune.

Par exemple, si l’on veut préparer plusieurs clés avec la même valeur :

clés = ["nom", "âge", "ville"]
d = dict.fromkeys(clés, "inconnu")

Le résultat sera un dictionnaire où chaque clé pointe vers inconnu. Cette approche est simple pour démarrer une structure de données homogène.

Ajouter et modifier des éléments dans un dictionnaire

Une fois le dictionnaire créé, on peut y ajouter ou modifier des éléments très facilement. La syntaxe repose sur l’accès par clé, ce qui rend les opérations directes et lisibles.

Pour ajouter une nouvelle paire clé-valeur, on utilise :

dictionnaire["clé"] = valeur

Par exemple :

voiture["couleur"] = "rouge"

Si la clé existe déjà, la valeur est remplacée. C’est le comportement attendu lorsqu’on met à jour une information déjà présente.

Par exemple :

voiture["année"] = 2020

Il faut aussi retenir qu’une clé est unique dans un dictionnaire. Si vous affectez plusieurs fois une valeur à la même clé, seule la dernière sera conservée.

Le tableau ci-dessous récapitule les opérations de base les plus courantes.

Action Syntaxe Résultat attendu
Créer un dictionnaire vide {} Un objet vide prêt à être rempli
Ajouter une clé d["couleur"] = "rouge" Une nouvelle paire clé-valeur
Modifier une valeur d["année"] = 2020 La valeur liée à la clé est remplacée
Initialiser plusieurs clés dict.fromkeys(clés, "inconnu") Toutes les clés reçoivent la même valeur

Bonnes pratiques et erreurs fréquentes

La syntaxe d’un dictionnaire repose sur une logique simple, mais quelques erreurs reviennent souvent. Les éviter permet de gagner du temps et d’obtenir un code plus fiable.

Chaque paire doit respecter la forme clé : valeur, avec un deux-points entre la clé et la valeur. Les différentes paires doivent être séparées par des virgules. L’oubli de l’un ou de l’autre entraîne une erreur de syntaxe.

Les clés doivent être de type immuable, comme une chaîne, un nombre ou un tuple immuable. En revanche, une liste ne peut pas servir de clé, car elle est modifiable. Cette contrainte existe pour garantir le bon fonctionnement du dictionnaire.

Un autre point fréquent concerne l’accès à une clé inexistante. Si vous écrivez dictionnaire["clé"] alors que la clé n’existe pas, Python lève une exception KeyError. Pour éviter ce cas, plusieurs solutions existent selon le besoin.

  • get(), qui retourne None ou une valeur par défaut.
  • in, pour vérifier la présence d’une clé avant l’accès.
  • try/except KeyError, pour gérer proprement l’absence de clé.

Par exemple, dictionnaire.get('clé', 'valeur_par_défaut') permet d’anticiper une absence de donnée sans interrompre l’exécution.

Pensez aussi à suivre une formation cybersécurité pour apprendre à sécuriser l’accès aux données et éviter les fuites.

Quand utiliser chaque méthode selon les besoins

Chaque méthode de création répond à un contexte différent. Le bon choix dépend de la source des données et du niveau de dynamisme du programme.

La syntaxe {} convient lorsque la structure est connue dès l’écriture du code, ou pour créer rapidement un petit dictionnaire manuel. C’est la forme la plus directe et la plus lisible.

Le constructeur dict() devient intéressant quand les données existent déjà sous forme de listes de tuples, d’autres dictionnaires ou de structures similaires. Il facilite la conversion d’un format à un autre.

Enfin, fromkeys() est adapté quand on veut initialiser plusieurs clés avec une même valeur de départ, par exemple pour préparer des scores, des compteurs ou des statuts uniformes.

Le tableau suivant aide à choisir la méthode la plus adaptée.

Méthode Quand l’utiliser Exemple de contexte
{} Structure connue à l’avance Définir un objet simple dans le code
dict() Données déjà structurées Convertir une liste de tuples
dict.fromkeys() Initialisation avec valeur commune Attribuer 0 à plusieurs compteurs

Récapitulatif par l’exemple : cas pratiques

Pour mieux visualiser les différences, voici quelques cas concrets. Ils montrent comment passer d’une structure à une autre, et comment éviter les erreurs les plus courantes.

Création d’un dictionnaire avec la syntaxe littérale :

voiture = {"marque": "Ford", "modele": "Mustang", "année": 1964}

Conversion d’une liste de tuples en dictionnaire :

donnees = [("marque", "Ford"), ("modele", "Mustang")]
d = dict(donnees)

Initialisation avec une valeur par défaut commune :

champs = ["nom", "âge", "ville"]
d = dict.fromkeys(champs, "inconnu")

Exemple d’erreur fréquente :

voiture = {"marque" "Ford"}

Ici, le séparateur : manque entre la clé et la valeur, ce qui provoque une erreur de syntaxe. La forme correcte est :

voiture = {"marque": "Ford"}

Autre exemple, l’accès à une clé absente peut être évité avec une vérification préalable :

if "couleur" in voiture:
    print(voiture["couleur"])

Ou avec get() si l’on veut une valeur de secours :

couleur = voiture.get("couleur", "non définie")

En résumé, le dictionnaire Python est un outil souple pour organiser des données par clés, avec une syntaxe courte et des usages très variés. En choisissant la bonne méthode de création et en sécurisant l’accès aux clés, vous gagnez en clarté et en fiabilité.

Publications similaires