# Loop through dictionary in value order di = {'a': 3, 'b': 1, 'c': 2} tmp = sorted( [(v, k) for k, v in di.items()] ) print(tmp) # [(1, 'b'), (2, 'c'), (3, 'a')]