dictオブジェクトを走査するときなどに値でソートされた結果を得たい場合は、
sortedのkey引数に値を返す関数を指定すれば良い。(key引数はソートしたい値を返す関数を指定できるので、ここを実装すれば任意のソート方法でソートできる)
d = {"a": 3, "b": 2, "c": 1}
for k in sorted(d, key=lambda k:d[k]):
print(k, d[k]) #c,b,aの順で出力
余談ですが、Pythonのdictはキーの順序を保証しないものでしたが(実装上そうなっていたとしても仕様では規定されていないかった)、Python3.7でこの仕様が変更になり挿入順序が保証されるように変更されました。