LoginSignup
0
0

More than 3 years have passed since last update.

Python -辞書包括表記を元の形に戻してみた-

Last updated at Posted at 2019-11-29

現在、内包表記の一つの辞書包括表記を勉強中です。
その途中で、辞書包括表記を元の長めのコードに戻してみたら成功したので、記事に残しておこうと思いました。

内包表記とは

そもそも内包表記とは、一つ以上のイテレータからPythonデータ構造をコンパクトに作れるものです。(引用:Bill Lubanovic著 斎藤 康毅 監訳 長尾 高弘 訳  『入門Python3』 P.104
出版社:オライリー・ジャパン ISBN 978-4-87311-738-6)

辞書包括表記は内包表記の一つで、キーとバリューを用いた辞書の形式で内包表記をしていくものです。

辞書包括表記を書いてみる

まずは、辞書包括表記を書いていきます。
文字列「python」の一文字ずつをキーとして、それぞれの文字のインデックスをバリューとします。

辞書包括表記
word = "python"
letter_index = {letter:word.index(letter) for letter in word}
print(letter_count)

>> {"p": 0, "y": 1, "t": 2, "h": 3, "o": 4, "n": 5}

このように辞書包括表記をはじめとした内包表記を利用すれば、forループを回して「python」の文字列の辞書を、一行で記述することができます。
まだ慣れるまで時間がかかると思いますけど、きっとめちゃくちゃ楽にコードを書いていけることでしょう!(多分)

辞書包括表記を元の形に戻してみる

では、Pythonの練習がてら辞書包括表記を元の形に戻していきます。

元の形へー、戻れ
word = "python"
letter_index = {}
for letter in word:
    letter_index[letter] = word.index(letter)

print(letter_count)

>> {"p": 0, "y": 1, "t": 2, "h": 3, "o": 4, "n": 5}

やはり、空辞書を作ってちゃんとforループを使ってletter_countを辞書を作ると、コードが長くなりました。辞書包括表記が、有用であることがよく分かります。

でも、元の形に戻したらPythonの練習になったし、新しい練習方法を見つけられたので良かったです。

引用

Bill Lubanovic著 斎藤 康毅 監訳 長尾 高弘 訳  『入門Python3』
出版社:オライリー・ジャパン ISBN 978-4-87311-738-6

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0