【Python・データ構造】~辞書~
スポンサードリンク
おはようございます!Shotaです。今日もPythonにまつわる記事を書いていきます!今日は「辞書型」について解説していきます。
【目次】
辞書とは
前々回の記事までは、リストやシーケンスのようなコンテナについて詳細に説明していきました。保管している値を個々に取り出して操作したい場合には、シーケンスならインデックスを使うことになります。しかし、この「番号や数字で整理する」というやり方はデータの中身がわかりにくいです。
例えば、職業をまとめて整理することを考えてみましょう。一人一人の職業にインデックスを付けて管理することができますが、それでは「この職業についている人はだれか?」ということを理解できません。職業を把握することは、それがいちばん重要なことなのです。
もし番号ではなく、その職業についている人の名前を管理できればもっとわかりやすく管理できます。(例:「田中さんは医者である」「加藤さんは弁護士である」)
このような方式で値を管理するのが辞書(dict)コンテナです。
辞書の作り方
辞書はセットと似ていて順番を持たないコンテナです。特徴としては「キーワード」になって値を記述したり、値を取り出したりできるためセットよりもデータを記述しやすいことが挙げられます。辞書を作るためには、{}記号の中にキーワードや値を書いていきます。キーワードというのは、値に付けられるラベルのようなものです。辞書では、インデックスの代わりにキーワードを用いて値を管理します。
この他、dict関数で作ることもできます。dictでは、「キー=値」という形でキーワードや値を作成していきます。{}を使う場合とdict()を使う場合で記述の方法が異なる点にはくれぐれも注意して下さい。
▼実行結果
値の操作
辞書では値の指定は{}記号を付けて行います。[]内に指定するのはインデックスではなくキーワードです。
値を取り出すとき:辞書[キー]
値を変更するとき:辞書「キー」=値
以下のコードで確認してみましょう。
▼実行結果
インデックスがキーワードに変わっているだけで、基本的な使い方はシーケンスのコンテナと大差ありません。
あと、辞書のキーは文字列なので「’」「”」で囲むことを忘れないようにして下さい。
辞書はリストやセットのように、メソッドを呼び出す必要がありません。ただキーワードを指定して代入すればいくらでも値を辞書に追加することができるのです。
▼実行結果
値の削除
辞書にある値を削除するためにはdelを使います。
del 辞書[キー]
▼実行結果
このようにして、辞書のキーワードを指定して実行するとそのキーワードの値を取り除くことができるのです。
キーワードと値の取得
辞書はミュータブル(変更可能)なコンテナで、自由に値を取得できますが、インデックスを使わないのでシーケンス演算子を使えません。
利用できるものは以下のとおりです。
ただし、関数に適用されるのは「キーワード」のほうであることは十分に注意して下さい。キーワードを調べるなら、これらは大いに役に立ちますが保管されている値を調べたい場合には使えないので注意して下さい。
辞書には、「すべてのキーワードや値をまとめて取り出す」という機能が備わっています。以下のコードを見ていきましょう。
▼実行結果
コードのメソッドで得られるのは「ビューオブジェクト」と呼ばれる特殊な値です。コマンドプロンプトの実行結果を見ると、値や文字列がリストとして保管されていることがわかります。
itemsメソッドの場合、キーワードと値が(キーワード、値)のタプルで保存されていることがよくわかります。
辞書に保管されているキーワードや値をまとめて取り出せるようになれば、後はそれらから必要な値を調べて取り出すことができます。
まとめ
【本日のまとめ】
- 辞書はキーワードで値を管理する。{}あるいはdict()で作成できる。値は、[]にキーワードを指定してやりとりする
- 辞書の中にある値を削除したいときはdelを用いる
- 辞書でも組み込み関数が使えるが、適用されるのはキーワードのみ
- 辞書は、keys()、values()、items()でキーワード、値、両者をタプルでまとめたものをリストにまとめて取り出すことができる
本ブログでは、こんな感じでPythonにまつわる情報や基本的な知識、Pythonの操作方法やニュースをたくさん紹介していきます。毎週日曜日に、普段とは趣向を変えて有名な自己啓発本・ビジネス書を要約・考察するブログを書いていきます。
この記事がいいと思った人はSNSにシェアしてくれると非常に嬉しいです!
明日から「制御構文」について詳しく説明していきます。この「制御構文」は、Pythonを学ぶ上では非常に重要な分野なのでより詳細に説明していきます。ちなみに、リストや辞書は制御構文で頻繁に使いますので、何度も復習して使えるようにしておきましょう!!
今日も最後まで読んでくださりありがとうございました!
【参考図書】