辞書内包表記

Python 2.7以降では、リスト内包表記と同様の記法で辞書オブジェクトを生成することができる。これを利用することで、既存の辞書オブジェクトのKeyとValueを入れ替えた辞書オブジェクトを容易に作ることが可能となる。

d1 = {'a':123, 'b':456, 'c':789}
d2 = {v:k for k, v in d1.items()}
print 'd1 :', d1
print 'd2 :', d2
d1 : {'a': 123, 'c': 789, 'b': 456}
d2 : {456: 'b', 123: 'a', 789: 'c'}

参考情報