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
- 7 autres exercices corrigés dans ce chapitre, et 7 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.