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