Adloun

Python (école d'ingénieur) · Chapitre 5 · Exercice

Fusion de dictionnaires

Listes, tuples et dictionnaires

Énoncé

Écrire une fonction fusionner(d1, d2) qui fusionne deux dictionnaires. En cas de clé présente dans les deux, la valeur du second dictionnaire doit prévaloir. Proposer trois implémentations différentes.

Corrigé

Voici les trois approches possibles :

# Méthode 1 : boucle explicite
def fusionner_v1(d1, d2):
    resultat = d1.copy() # Copie pour préserver d1
    for cle, valeur in d2.items():
        resultat[cle] = valeur
    return resultat

# Méthode 2 : méthode .update()
def fusionner_v2(d1, d2):
    resultat = d1.copy()
    resultat.update(d2)
    return resultat

# Méthode 3 : décompression de dictionnaires (Python 3.5+)
def fusionner_v3(d1, d2):
    return {**d1, **d2}

# Test
d1 = {"a": 1, "b": 2, "c": 3}
d2 = {"b": 99, "d": 4, "e": 5}

print(fusionner_v1(d1, d2))
print(fusionner_v2(d1, d2))
print(fusionner_v3(d1, d2))
print("Original d1 inchangé :", d1)

Résultat :

{'a': 1, 'b': 99, 'c': 3, 'd': 4, 'e': 5}
{'a': 1, 'b': 99, 'c': 3, 'd': 4, 'e': 5}
{'a': 1, 'b': 99, 'c': 3, 'd': 4, 'e': 5}
Original d1 inchangé : {'a': 1, 'b': 2, 'c': 3}

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →