J'ai deux dictionnaires.
gen3 = {0: 'RRPP', 1: 'RRPP', 2: 'rRPP', 3: 'rRPP', 4: 'RRPP', 5: 'RRPP', 6: 'rRPP', 7: 'rRPP',
8: 'RrPP', 9: 'RrPP', 10: 'rrPP', 11: 'rrPP', 12: 'RrPP', 13: 'RrPP', 14: 'rrPP', 15: 'rrPP'}
4 Réponses :
Vous pouvez utiliser une compréhension de dictionnaire avec f-strings code> pour créer un nouveau dictionnaire:
une compréhension dict - légèrement différente de la réponse de @ yatu. Cela fonctionnera sur toutes les clés uniques de GEN1 et GEN2 - Si une clé n'existe que dans l'un des dictionnaires, le dictionnaire résultant n'aura qu'une valeur du dictionnaire gen correspondant.
Une caractéristique de cette solution est que si une clé n'est présente que dans une liste, vous n'obtiendrez que le contenu de cette liste dans le résultat. Donc, avec gen1 = {0: 'aa', 1: 'bb'} code> et gen2 = {0: 'aa'} code> vous obtiendriez {0: 'AAAA', 1: 'BB'} CODE>, ce qui pourrait ne pas être ce que vous voulez arriver si des clés sont manquantes.
Si vous êtes sûr que gen1 code> et gen2 code> ont exactement les mêmes clés, cela devrait fonctionner: gen3 = { k: gen1[k] + gen2[k] for k in gen1 }
La réponse par c = {k: gen1[k] + gen2[k] for k in (gen1.keys() & gen2.keys())}
Y a-t-il un cas, où
gen1 code> a une clé quegen2 code> ne fonctionne pas et vice versa? Si celles-ci sont incluses?Vérifiez si
len (gen1) == len (gen2) code>, premier