Memory efficiency: One large dictionary or a dictionary of smaller dictionaries?
Three suggestions: Use one dictionary. It’s easier, it’s more straightforward, and someone else has already optimized this problem for you. Until you’ve actually measured your code and traced a performance problem to this part of it, you have no reason not to do the simple, straightforward thing. Optimize later. If you are really worried about …