This could be rewritten as:

```
merged_data = defaultdict(lambda: defaultdict(lambda: None))
```

This, along with the comment you have above, is shorter and (to me) just as clear as the current form. I realize that I'm treading in dangerous waters given the previous arguments over nested list comprehension... but WWWJD?