@user395760 wrote a great answer. But I think it is worth mentioning that using a for-loop and dict.update will be far more efficient than dict comprehension especially when the number of dictionaries and the length of dictionaries are very large.
So the recommended way to do this is:
all_dicts = [...] # some dictionaries
big_dict = {}
for d in all_dicts:
big_dict.update(d)
dict comprehension is more fancy than useful.
The reason behind this is that dict.update will just 'append' a dictionary to the another which does not involve iterating over the content of the dictionary. On the other hand, dict comprehension is very slow when the problem becomes complex because it still has to iterate over everything to generate a merged dict.