内包表記を使って辞書型の変数を作る
リスト型の変数を内包表記で表せるのと同様に、
辞書型の変数も次のように内包表記で表すことができます。
S = ['A', 'B', 'C', 'D', 'E']
L = [0, 1, 2, 3, 4]
dic = {s:l for s,l in zip(S,L)} # {key:value for item in iterator}
print(dic) # 出力結果: {'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4}
ちなみに今回は例として内包表記を使いましたが、
この場合はdict(zip(S, L))
とするほうが簡単です。(コメントありがとうございました)
forループよりも内包表記を使ったほうが良い
内包表記を使うと次のメリットがあるようです。1
Pythonで内包表記を使うことで以下の様なメリットがあります。
- コードがシンプル
- 可読性の向上
- 実行速度が高速
実行速度は通常のForループを使用するよりも、約2倍高速されるそうです。
場合にもよりますが、forループを使うよりも積極的に内包表記を使ったほうがよさそうです。