Ваш вопрос был о наиболее "питонском" способе.
Я думаю, что для такой проблемы Питоновский путь очень ясен. Есть много способов реализовать решение этой проблемы! Если у вас действительно есть только 2 диктанта, то решения, которые предполагают, что это замечательно, потому что они намного проще (и в результате их легче читать и поддерживать). Однако часто бывает полезно иметь общее решение, потому что это означает, что вам не нужно дублировать основную логику для других случаев, когда у вас есть 3 словаря, например.
Как дополнение, ответ phant0m хорош, потому что он использует множество функций Python, чтобы сделать решение читабельным. Мы видим понимание списка:
[d[key] for d in dicts if key in d]
Использование Python очень полезно set
тип:
keys = set()
keys.update(d.keys())
И вообще, хорошее использование методов и глобалов типа Python:
d.keys()
keys.update( ... )
keys.update
len(values)
Думать и реализовывать алгоритм для решения этой проблемы - это одно, но сделать его таким элегантным и читаемым, используя мощь языка, - это то, что большинство людей сочло бы «питонским».
(я бы использовал решение phant0m)