You can merge dicts using the dict.update method:
y = {}
for element in list_of_elements:
y.update(_myfunction(element))
You can also use a (double-loop) dict-comprehension:
y = {
k:v
for element in list_of_elements
for k,v in _myfunction(element).items()
}
Finally, if you take any of the answers to this question, for merging two dicts (and name it merge_dicts
), you can use reduce
to merge more than two:
dicts = [_myfunction(element) for element in list_of_elements]
y = reduce(merge_dicts, dicts, {})
Either way, in case of repeated dict keys, later keys overwrite earlier ones.