Merge Nested Dictionaries Iteratively
Chicago Trading CompanySoftware Engineer · Online AssessmentLast updated
This question evaluates a candidate's skill in iterative data structure manipulation and handling of nested dictionary merging semantics, including conflict resolution and value overriding.
Given a list of Python dictionaries, merge them into a single dictionary without using recursion.
Rules:
- Process the dictionaries from left to right.
- If a key appears in only one dictionary, keep that key-value pair.
- If the same key appears in multiple dictionaries:
- when both values are dictionaries, merge those dictionaries using the same rules;
- otherwise, the value from the later dictionary overrides the earlier one.
- You may assume keys are strings.
Example:
- Input:
[{"a": 1, "b": {"x": 2}}, {"b": {"y": 3}, "c": 4}, {"b": {"x": 5}}]- Output:
{"a": 1, "b": {"x": 5, "y": 3}, "c": 4}
Implement a function that returns the merged dictionary using an iterative approach.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.