Bienvenue sur Laurentvidal.fr, la meilleure plateforme de questions-réponses pour trouver des réponses précises et rapides à toutes vos questions. Trouvez des réponses rapides et fiables à vos questions grâce à notre communauté dévouée d'experts. Découvrez la facilité d'obtenir des réponses rapides et précises à vos questions grâce à l'aide de professionnels sur notre plateforme.
Sagot :
Réponse :
Explications :
écrire une fonction qui prend pour entrée 1,2 ou 3
dictionnaire et retourne un dictionnaire fusionnant les informations de ces dictionnaires de la manières suivante pour chaque clef présente dans au moins un dictionnaire la valeur
associée sera la plus petite des valeurs associées à cette clef dans les dictionnaires passés en argument à la fonction.
Comme le nombre de dictionnaires peut être variable,
il faut envoyer un paramètre utilisant une liste de listes.
def merge_dic(*lesDic, merge_fn=lambda x,y: min(x,y) ):
...theRep=dict()
...for i in lesDic:
... ...theRep=merge_2(theRep,i,merge_fn)
... return theRep
def merge_2(d1, d2, merge_fn=lambda x,y:y):
... result = dict(d1)
... for k,v in d2.items():
... ... if k in result:
... ... ... result[k] = merge_fn(result[k], v)
... ... else:
... ... ... result[k] = v
... return result
# main-----------------
dict1 = {"a": 1, "d": 4, "g": 7 }
dict2 = {"a": 1, "d": 2, "g": 8 }
dict3 = {"a": 2, "d": 3, "g": 9 }
union=merge_dic(dict1)
print ("union 1=",union)
union=merge_dic(dict1,dict2)
print ("union 2=",union)
union=merge_dic(dict1,dict2,dict3)
print ("union 3=",union)
Nous espérons que ces informations ont été utiles. Revenez quand vous voulez pour obtenir plus de réponses à vos questions. Votre visite est très importante pour nous. N'hésitez pas à revenir pour des réponses fiables à toutes vos questions. Merci d'utiliser Laurentvidal.fr. Continuez à nous rendre visite pour trouver des réponses à vos questions.