Les dictionnaires dans Python

Les dictionnaires dans Python sont des structures de données non ordonnées qui stockent des paires clé-valeur. On appelle ces structures des "objets" dans d'autres langages de programmation.

Pour mieux comprendre, nous allons pratiquer 😎.

Créer une dictionnaire dans Python

Nous allons commencer par créer un dictionnaire.

voiture = {

    "marque": "Toyota",
    "modele": "Yaris",
    "annee": 2019,
    "couleur": "rouge"

}

print(voiture)
# Affiche : {'marque': 'Toyota', 'modele': 'Yaris', 'annee': 2019, 'couleur': 'rouge'}

Dans une variable nommée voiture, nous avons enregistré un dictionnaire.

Les dictionnaires sont écrites avec des accolades {} et ils ont des clés et des valeurs.

Une clé et une valeur dans un dictionnaire Python

Dans notre exemple, une clé est marque et la valeur de cette clé est Toyota.

Récupérer une valeur du dictionnaire

Première méthode

Dans Python, pour récupérer une valeur, il nous fait la clé.

Explorons ensemble cette façon de procéder.

voiture = {

    "marque": "Toyota",
    "modele": "Yaris",
    "annee": 2019,
    "couleur": "rouge"

}

print(voiture['modele'])
# Affiche : Yaris

Dans ce bout de code, nous avons récupéré le modèle de la voiture. Pour cela nous avons utiliser la clé modele du dictionnaire voiture. Le système identique aux listes ou aux tuples. Il faut se servir de crochets []. Mais au lieu de l'index, nous insérons la clé.

Deuxième méthode

Il est tout a fait possible, si nous préférons, d'utiliser une méthode à la place.

voiture = {

    "marque": "Toyota",
    "modele": "Yaris",
    "annee": 2019,
    "couleur": "rouge"

}

print(voiture.get("modele"))
# Affiche : Yaris

Cette fois-ci, nous nous sommes servis de la méthode .get() pour atteindre le même résultat.

Changer la valeur d'une clé

Il est possible de changer une valeur.

voiture = {

    "marque": "Toyota",
    "modele": "Yaris",
    "annee": 2019,
    "couleur": "rouge"

}

voiture["modele"] = "Corolla"

print(voiture)
# Affiche : {'marque': 'Toyota', 'modele': 'Corolla', 'annee': 2019, 'couleur': 'rouge'}

Dans la ligne 10, nous avons remplacé la valeur Yaris par Corolla. Et cela fonctionne car désormais notre dictionnaire contient bien Corolla pour la clé marque.

Ajouter un nouvel élément

Si besoin est, vous avez la possibilité d'intégrer un nouvel élément.

C'est très simple et logique. C'est exactement la même méthode que pour la modification.

voiture = {

    "marque": "Toyota",
    "modele": "Yaris",
    "annee": 2019,
    "couleur": "rouge"

}

voiture["puissance"] = 100

print(voiture)
# Affiche : {'marque': 'Toyota', 'modele': 'Yaris', 'annee': 2019, 'couleur': 'rouge', 'puissance': 100}

Maintenant, une nouvelle clé et un nouvelle valeur sont disponibles : 'puissance': 100.

Supprimer un élément

.pop()

Pour supprimer un élément, vous pouvez utiliser la méthode .pop()

voiture = {

    "marque": "Toyota",
    "modele": "Yaris",
    "annee": 2019,
    "couleur": "rouge"

}

# Supprimer un élément
voiture.pop("couleur")

print(voiture)
# Affiche : {'marque': 'Toyota', 'modele': 'Yaris', 'annee': 2019}

La clé couleur et sa valeur correspondante ont été supprimé.

del

Vous pouvez atteindre ce même objectif avec le mot clé del.

voiture = {

    "marque": "Toyota",
    "modele": "Yaris",
    "annee": 2019,
    "couleur": "rouge"

}

# Supprimer un élément
del voiture["couleur"]

print(voiture)
# Affiche : {'marque': 'Toyota', 'modele': 'Yaris', 'annee': 2019}

Le mot clé del nous permet de tous supprimer si nous n'indiquons pas de clé à notre variable qui contient notre dictionnaire.

voiture = {

    "marque": "Toyota",
    "modele": "Yaris",
    "annee": 2019,
    "couleur": "rouge"

}

# Tout supprimer
del voiture

print(voiture)
# Affiche : NameError: name 'voiture' is not defined

Comme tout a été supprimé notre programme considère que notre variable voiture n'existe pas.

.clear

La méthode .clear supprimer tout le contenu de la variable.

voiture = {

    "marque": "Toyota",
    "modele": "Yaris",
    "annee": 2019,
    "couleur": "rouge"

}

# Supprimer tout le contenu
voiture.clear()

print(voiture)
# Affiche : {}

Il y a une différence avec del. Cette dernière supprime tout ainsi que la variable. Alors que la méthode que nous sommes entrain d'analyser supprimer juste le contenu de la variable. Nous nous retrouvons avec un dictionnaire vide : {}.