Skip to content Skip to sidebar Skip to footer

Execution Order Of Nested Dictionary Comprehension

I'm trying to convert this list: data = [{'A': 123}, {'B': 456}, {'C': 789}] To this dictionary: {'A': 123, 'B': 456, 'C': 789} By using dictionary comprehension: {key: value for

Solution 1:

You need to switch your iteration logic. Default order of iteration inside dictionary (or list) comprehension goes from left to right:

>>> data = [{'A': 123}, {'B': 456}, {'C': 789}]

>>> {k: v for d in data for k, v in d.items()}
{'A': 123, 'B': 456, 'C': 789}

You can create nested dictionary comprehension, list comprehension or generator expression using {}, [] and () respectively which are the exceptions for the left to right execution order I mentioned earlier. All these operations create new objects, and they execute inside their own scope.


Post a Comment for "Execution Order Of Nested Dictionary Comprehension"