Ich habe N Wörterbücher, die die gleichen Schlüssel enthalten, mit Werten, die ganze Zahlen sind. Ich möchte diese in einem einzigen Wörterbuch basierend auf dem Maximalwert zusammenführen. Zur Zeit habe ich so etwas wie diese:Mehrere Wörterbücher bedingt zusammenfügen
max_dict = {}
for dict in original_dict_list:
for key, val in dict.iteritems():
if key not in max_dict or max_dict[key] < val:
max_dict[key] = val
Gibt es eine bessere (oder mehr „pythonic“) Art und Weise, dies zu tun?
In diesem speziellen Fall könnten Sie 'x [k]' statt 'x.get (k, -1) ', weil die Wörterbücher alle dieselben Schlüssel verwenden. Wenn nicht, würde ich vorschlagen, Ihr innerstes Listenverständnis durch '[x [k] für x in original_dict_list wenn k in x]' zu ersetzen – Kevin