Your answer to yourself, as you said, is long and cumbersome. It should not be. It will also fail if (1) has more than 10 keys (2), the dict has fewer keys than expected.
Try it; it is much simpler:
>>> ordered_keys = ('z', 'y', 'e', 'x', 'w')
Note: the line above is all the necessary settings.
>>> dic = {'z':'a', 'y':'b', 'x':'c', 'w':'d'}
>>> for k in ordered_keys:
... if k in dic:
... print k, dic[k]
...
z a
y b
x c
w d
>>>
source
share