Python Tips: 辞書のキーとバリューを逆にしたい

Pythonで、辞書型のオブジェクトのキーとバリューを入れ替える方法についてご紹介します。

最もかんたんなやり方は、辞書内包表記を使う方法です。

mydict = {"a": "amembo", "i": "inu", "u": "usagi"}

mydict_inv = {v:k for k, v in mydict.items()}
# => {'amembo': 'a', 'inu': 'i', 'usagi': 'u'}

ちなみに Python 2.6 以前にはこの辞書内包表記がなかったとのことなので、2.6以前でやるとしたら次のやり方になるでしょうか。

mydict_inv = dict([(v, k) for k, v in mydict.items()])

参考