Comparer deux dictionnaires

Résolu
Bonjour,

Je voudrais lister les clés d'un dictionnaire d1, puis les comparer avec les valeurs d'un autre dictionnaire d2 et enfin établir une liste des clés de d2 correspondantes avec les valeurs de d1.. Exemple:

d1 = {"332P200005":"E34-789", "332P200006":"E34-788",  "332P200007":"E34-785", "332P200008":"E34-705" }

d2 = {"E34-789":"1", "E34-788":"1", "E34-700":"1", "E34-702":"1", "E34-703":"1", "E34-704":"1", "E34-705":"1"}


Je voudrais une liste ou autre contenant les clés de d1 qui ont pour valeur la clé d2.
par exemple je vois dans d2 la clé "E34-789" qui est bien présente dans une des valeurs de d1.
en revanche la clé "E34-704" dans d2 n'est pas présente dans les valeurs d1. Donc la clé (d1) correspondante ne m'intéresse pas.

J'espère avoir été assez clair, merci pour votre aide.

Configuration: Windows / Firefox 88.0

2 réponses

  1. Contributeur
    bonjour,
    as-tu une question?
    je pense que ceci t'aidera: http://www.w3big.com/fr/python/att-dictionary-has_key.html
    1. Contributeur
      ce serait plus clair si tu montrais la réponse que tu attends pour l'exemple.

      tu écris "la clé "E34-704" dans d2 n'est pas présente dans les valeurs d1. Donc la clé (d1) correspondante ne m'intéresse pas" quelle est la clé correspondante?
    2. @yg_beje voudrais en sortie:

      liste = [332P200005,332P200006,332P200008] 

      # dans cette liste, ces valeurs font bien partie d'au moins une des clés dans d2

      # dans d1, la dernière clé 332P200007 ne m'intéresse pas car # sa valeur n'apparait pas dans une des clés d2


      Je ne sais pas si c'est plus clair..
    3. Contributeur
      @Fredlesardecela devient plus correct.
      un exemple:
      def y(dun,ddeux):
          r=[]
          for k1 in dun:
              if dun[k1] in ddeux:
                  r.append(k1)
          return r
      dd1 = {"332P200005":"E34-789", "332P200006":"E34-788",  "332P200007":"E34-785", "332P200008":"E34-705" }
      dd2 = {"E34-789":"1", "E34-788":"1", "E34-700":"1", "E34-702":"1", "E34-703":"1", "E34-704":"1", "E34-705":"1"}
      print(y(dd1,dd2))