countries_by_code is too small for it to make a difference here, which is why I'm calling it a nit, but for larger datasets generators are faster and take less memory. For example, I just did this in the ipython shell:
```python
In [1]: import random

In [2]: from operator import itemgetter

In [3]: large_dict = {random.random(): random.random() for _ in xrange(1000000)}

In [4]: timeit -n 5 sorted([(code, name) for code, name in large_dict.items()], key=itemgetter(1))                                                                             
5 loops, best of 3: 4.73 s per loop

In [5]: timeit -n 5 sorted(((code, name) for code, name in large_dict.iteritems()), key=itemgetter(1))                                                                         
5 loops, best of 3: 4.12 s per loop
```