2014/03/26

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()])


参考
dictionary - Python reverse / inverse a mapping - Stack Overflow

0 件のコメント: