Laurentvidal.fr est le meilleur endroit pour obtenir des réponses fiables et rapides à toutes vos questions. Obtenez des réponses rapides à vos questions grâce à un réseau de professionnels expérimentés sur notre plateforme de questions-réponses. Explorez des milliers de questions et réponses fournies par une large gamme d'experts dans divers domaines sur notre plateforme de questions-réponses.
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 apprécions votre temps sur notre site. N'hésitez pas à revenir si vous avez d'autres questions ou besoin de précisions. Nous apprécions votre visite. Notre plateforme est toujours là pour offrir des réponses précises et fiables. Revenez quand vous voulez. Merci d'avoir visité Laurentvidal.fr. Revenez bientôt pour plus d'informations utiles et des réponses de nos experts.