Python - Dictionnaires

Bonjour, aspirants programmeurs ! Aujourd'hui, nous allons plonger dans le monde fascinant des dictionnaires Python. En tant que votre enseignant en informatique de quartier, je suis excité de vous guider à travers ce voyage. Alors, prenez votre boisson préférée, mettez-vous à l'aise, et partons ensemble dans cette aventure !

Python - Dictionaries

Dictionnaires en Python

Imaginez que vous créez un carnet d'adresses numérique. Vous voulez stocker des informations sur vos amis, comme leurs noms, numéros de téléphone et adresses email. Comment feriez-vous cela ? Entrez les dictionnaires Python !

Un dictionnaire en Python est comme un dictionnaire du monde réel, mais au lieu de définitions de mots, il stocke des paires clé-valeur. C'est une collection qui est non ordonnée, modifiable et n'accepte pas les doublons.

Caractéristiques Clés des Dictionnaires

  1. Paires Clé-Valeur : Chaque élément d'un dictionnaire consiste en une clé et sa valeur correspondante.
  2. Non Ordonné : Contrairement aux listes, les dictionnaires n'ont pas un ordre spécifique.
  3. Modifiable : Vous pouvez ajouter, supprimer ou modifier des éléments après la création du dictionnaire.
  4. Pas de Doublons : Chaque clé doit être unique dans un dictionnaire.

Création d'un Dictionnaire

Commençons par créer notre premier dictionnaire :

mon_ami = {
"nom": "Alice",
"âge": 25,
"ville": "New York"
}

Dans cet exemple, nous avons créé un dictionnaire appelé mon_ami. Les clés sont "nom", "âge" et "ville", et leurs valeurs correspondantes sont "Alice", 25 et "New York".

Vous pouvez également créer un dictionnaire vide et ajouter des éléments plus tard :

dictionnaire_vide = {}
autre_dictionnaire = dict()  # Utilisation du constructeur dict()

Accès aux Éléments d'un Dictionnaire

Pour accéder aux éléments d'un dictionnaire, vous utilisez les noms des clés entre crochets :

print(mon_ami["nom"])  # Sortie : Alice

Vous pouvez également utiliser la méthode get(), qui est plus sûre car elle retourne None si la clé n'existe pas (au lieu de lever une erreur) :

print(mon_ami.get("âge"))  # Sortie : 25
print(mon_ami.get("emploi"))  # Sortie : None

Modification des Éléments d'un Dictionnaire

Les dictionnaires sont muables, ce qui signifie que nous pouvons modifier leur contenu après la création :

# Changer une valeur
mon_ami["âge"] = 26

# Ajouter une nouvelle paire clé-valeur
mon_ami["emploi"] = "Ingénieur"

print(mon_ami)
# Sortie : {'nom': 'Alice', 'âge': 26, 'ville': 'New York', 'emploi': 'Ingénieur'}

Suppression des Éléments d'un Dictionnaire

Il y a plusieurs façons de supprimer des éléments d'un dictionnaire :

# Supprimer un élément spécifique
del mon_ami["âge"]

# Supprimer et retourner un élément
emploi = mon_ami.pop("emploi")

# Supprimer le dernier élément inséré
dernier élément = mon_ami.popitem()

print(mon_ami)  # Sortie : {'nom': 'Alice'}

Itération à Travers un Dictionnaire

Vous pouvez boucler sur un dictionnaire de plusieurs manières :

# Itération à travers les clés
for clé in mon_ami:
print(clé)

# Itération à travers les valeurs
for valeur in mon_ami.values():
print(valeur)

# Itération à travers les clés et les valeurs
for clé, valeur in mon_ami.items():
print(f"{clé}: {valeur}")

Propriétés des Clés de Dictionnaire

Les clés de dictionnaire ont quelques propriétés importantes :

  1. Les clés doivent être immuables (comme les chaînes de caractères, les nombres ou les tuples).
  2. Les clés doivent être uniques dans un dictionnaire.

Par exemple :

dictionnaire_valide = {
"clé_string": "valeur1",
42: "valeur2",
(1, 2): "valeur3"
}

# Cela leverait une erreur :
# dictionnaire_invalide = {[1, 2]: "valeur"}  # Les listes ne peuvent pas être des clés

Opérateurs de Dictionnaire Python

Python fournit quelques opérateurs utiles pour les dictionnaires :

# Fusionner des dictionnaires (Python 3.5+)
dictionnaire1 = {"a": 1, "b": 2}
dictionnaire2 = {"c": 3, "d": 4}
fusionné = {**dictionnaire1, **dictionnaire2}
print(fusionné)  # Sortie : {'a': 1, 'b': 2, 'c': 3, 'd': 4}

# Vérifier si une clé existe
if "nom" in mon_ami:
print("Le nom est dans le dictionnaire")

Méthodes de Dictionnaire Python

Voici un tableau des méthodes de dictionnaire couramment utilisées :

Méthode Description
clear() Supprime tous les éléments du dictionnaire
copy() Retourne une copie superficielle du dictionnaire
fromkeys() Crée un nouveau dictionnaire avec les clés spécifiées et la valeur
get() Retourne la valeur de la clé spécifiée
items() Retourne une liste des paires (clé, valeur) du dictionnaire
keys() Retourne une liste des clés du dictionnaire
pop() Supprime et retourne un élément avec la clé donnée
popitem() Supprime et retourne la dernière paire clé-valeur insérée
setdefault() Retourne la valeur de la clé spécifiée. Si la clé n'existe pas : insère la clé avec la valeur spécifiée
update() Met à jour le dictionnaire avec les paires clé-valeur spécifiées
values() Retourne une liste de toutes les valeurs du dictionnaire

Fonctions Intégrées avec les Dictionnaires

Python fournit plusieurs fonctions intégrées qui fonctionnent bien avec les dictionnaires :

# Longueur d'un dictionnaire
print(len(mon_ami))

# Type de dictionnaire
print(type(mon_ami))

# Convertir d'autres types de données en dictionnaire
liste_de_tuples = [("a", 1), ("b", 2)]
dictionnaire_de_liste = dict(liste_de_tuples)
print(dictionnaire_de_liste)  # Sortie : {'a': 1, 'b': 2}

Et voilà, les amis ! Nous avons parcouru la terre des dictionnaires Python, de la création à la manipulation, de l'itération aux fonctions intégrées. Rappelez-vous, la pratique fait le maître, donc n'hésitez pas à expérimenter avec ces concepts dans votre propre code.

À mesure que nous terminons, laissez-moi partager un peu d'humour de programmation : pourquoi les programmeurs Python préfèrent-ils utiliser des dictionnaires ? Parce qu'ils connaissent toujours où sont leurs clés ! ?

Continuez à coder, restez curieux, et souvenez-vous : dans le monde de la programmation, chaque erreur n'est qu'une nouvelle opportunité d'apprendre. À la prochaine fois, happy coding !

Credits: Image by storyset