Python: 辞書内包表記
Python3 および Python2.7 では集合と辞書の内包表記を利用でき、よりシンプルな表現ができるようになった。
逆引き(inverse)辞書を作る
>>> d = {1: 'a', 2: 'b', 3: 'c'} >>> {v: k for k, v in d.items()} {'a': 1, 'c': 3, 'b': 2}
dict#iteritems は Python3 では廃止され、dict#items でも同等の性能が出るようになった。
リストから辞書を生成
>>> {x: x for x in ['a', 'e']} {'a': 'a', 'e': 'e'}
ちなみに、辞書のキーが全て文字列なら、このような方法で複数の辞書をマージすることも可能。
>>> dict({x: x for x in ['a', 'e']}, **{v: k for k, v in d.items()}) {'a': 1, 'c': 3, 'b': 2, 'e': 'e'}
0 件のコメント:
コメントを投稿