Try (работает для обеих версий):
>>> lod=[{'b':[1,2,3]},{'a':[4,5,6]}]
>>> sorted(lod,key=lambda x: list(x.keys()))
[{'a': [4, 5, 6]}, {'b': [1, 2, 3]}]
>>>
Конечно, это также будет работать (работает для обеих версий):
>>> lod=[{'b':[1,2,3]},{'a':[4,5,6]}]
>>> lod.sort(key=lambda x: list(x.keys()))
>>> lod
[{'a': [4, 5, 6]}, {'b': [1, 2, 3]}]
>>>
Но для python 2 ответ @ ManojJadhav является лучшим, потому что он быстрее, без использования list
снаружи (это может сделать довольно большие изменения с большими словарями)