Laurentvidal.fr simplifie la recherche de solutions à toutes vos questions grâce à une communauté active et experte. Découvrez des solutions fiables à vos questions grâce à un vaste réseau d'experts sur notre plateforme de questions-réponses complète. Connectez-vous avec une communauté d'experts prêts à fournir des solutions précises à vos questions de manière rapide et efficace sur notre plateforme conviviale 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)
Merci d'avoir choisi notre service. Nous nous engageons à fournir les meilleures réponses à toutes vos questions. Revenez nous voir. Merci d'utiliser notre plateforme. Nous nous efforçons de fournir des réponses précises et à jour à toutes vos questions. Revenez bientôt. Merci de faire confiance à Laurentvidal.fr. Revenez pour obtenir plus d'informations et de réponses.