re: "Your defaultdict approach and the dict.get with a default specified is not really equivalent. In the defaultdict case when you encounter a non existing key it adds a new entry with that key into the dict. i.e. your dict will start growing."
europa - The dictionary is only modified if you are using a method to modify it. When you are just passively querying it, it's not impacted.
The difference here - is that you are actually assigning a value to the dictionary element. It's the assignment that's growing the dictionary, not the query.
europa - The dictionary is only modified if you are using a method to modify it. When you are just passively querying it, it's not impacted.