変数のまとめ方に悩んだらこれ!!!数値を説明することができるPythonの辞書型について徹底解説ー取り出し方から書き方までー

本記事ではPythonの組み込み関数である辞書型について説明します。

また本記事の説明は、公式サイトを大きく参考にしています。以下の記事も併せてご参照ください。

組み込み関数
Python インタプリタには数多くの関数と型が組み込まれており、いつでも利用できます。それらをここにアルファベット順に挙げます。,,,, 組み込み関数,,, A, abs(), aiter(), all(), anext(), any()...
組み込み型
以下のセクションでは、インタプリタに組み込まれている標準型について記述します。 主要な組み込み型は、数値、シーケンス、マッピング、クラス、インスタンス、および例外です。 コレクションクラスには、ミュータブルなものがあります。コレクションのメ...

辞書型について簡単な説明

辞書型とはPython の組み込み関数の一つです。値の取り出し方が辞書の索引に似ていることから、辞書型といわれています。本記事では組み込み関数(class 型)と説明しています。詳しくは以下の記事を参考にしてください。

Python の組み込み関数について簡単に解説
本記事では Python の組み込み関数について解説します。 組み込み関数の定義 組み込み関数とは、プログラミング言語が最初から提供している関数のことです。def やクラスは、私たちが定義して初めて使うことができますが、組み込み関数はプログ...

辞書型の最大の特徴は数値に意味付けできることです。list と tuple は要素だけを格納することしかできません。

Python の最高傑作である list と tuple について徹底解説
本記事では list と tuple について徹底解説していきます。 また本記事の説明は、公式サイトを大きく参考にしています。以下の記事も併せてご参照ください。 list, tuple について簡単な説明 list, tuple は Pyt...

辞書型は入力した要素に意味付けすることができます。外食で1,000円、飲み会で3,000円、洋服に10,000円といった感じです。list や tuple と比較して数値や文字に意味付けできることがメリットですが、順番や重複が考慮されないことがデメリットです。例えば、外食 1,000 円、外食 2,000 円と登録しようとすると、どちらかが削除される、といった感じです。

辞書型の使い方

空の辞書型を作成

辞書型の記述方法は以下の通りです。

dict()

また、単に以下の形で表されます。

{}

これらをインスタンスとして定義して、Jupyter Notebook に出力させてみます。以下のコードを実行してみてください。このサイトをはじめからご覧になっている方は、Jupyter Notebook のファイル名を「dict_practice」としてファイルを作成してください。

Jupyter Notebook でのファイル作成方法
本記事では Jupyter Notebook でコード実行を行うためのファイル作成方法について解説していきます。 本サイトでは pip を用いて Jupyter Notebook のインストールを行っております。本記事から初めてご覧になった...

実行するコードは以下の通りです。

dict_clf= dict()
dict_clf
dict_clf= {}
dict_clf

実行すると以下の結果が出力されます。

空辞書型の作成結果

要素の入った辞書型

次に要素の入った辞書型を作成します。要素の入った辞書型を作成する方法は複数ありますが、今回は要素を区切るだけでできるリストの作成方法について説明します。残りの作成方法は後日公開予定です。

辞書型の作成例は以下の通りです。

{キー1 : 要素1, キー2 : 要素2, キー3: 要素3, ・・・}

キーは値の名前のことを指します。

Jupyter Notebook で実行してみましょう。以下のコードを実行してみてください。

food_money = {"breakfast" : 500, "lunch" : 300, "dinner" : 3000} # 単位: 円
food_money 

Jupyter Notebook でコードを実行すると、以下の結果が出力されます。

要素の入った辞書型の出力結果

要素の取り出し、切り出し

dict の中の要素はキーを指定することで取り出すことができます。具体的には以下のように取り出します。

辞書型のインスタンス[キーの名前]

「要素の入った辞書型」で説明した「food_money」変数を使って実際に要素を取り出してみます。以下のコードを実行してみてください。

food_money ["lunch"]

Jupyter Notebook でコードを実行した結果は以下のようになります。

値の取り出し

辞書型はリストのようにスライスで切り出すことはできません。もし切り出したいときは自分で関数やプログラムを作成する必要があります。こちらは後日解説しようと思います。

辞書型 でよく使用するメソッド

copy

辞書型をコピーするときに使うコードです。以下のように記述します。

変数名 = コピーしたい辞書型.copy()

実際にJupyter Notebook で以下のコードを実行してみましょう。

food_money_copy = food_money.copy()
food_money_copy

実行結果は以下の通りになります。

copy

またコピーは以下のように記述しても同様の結果が得られます。

変数名 = dict(コピーしたいリスト名)

pop

辞書型から値を削除し、削除したキーの値を取得します。以下のように記述します。

削除したいキーが入った辞書型.pop(削除したいキー)

実際にJupyter Notebook で以下のコードを実行してみましょう。

food_money = {"breakfast" : 500, "lunch" : 300, "dinner" : 3000}
num_delete = food_money.pop("breakfast")
num_delete 
food_money 

実行しますと、以下の結果が出ます。

pop

このように元の辞書型のインスタンスから “breakfast”が削除され、popから返された変数は500であり、削除されたキーが持っていた値であることがわかると思います。

keys

辞書型のキーをすべて取得します。具体的には以下のように記述します。

キーを取得した辞書型のインスタンス.keys()

実際にJupyter Notebook で以下のコードを実行してみましょう。

food_money = {"breakfast" : 500, "lunch" : 300, "dinner" : 3000}
key_all = food_money.keys()
key_all 

実行しますと、以下の結果が出ます。

keys

values

辞書型の値をすべて取得します。具体的には以下のように記述します。

キーを取得した辞書型のインスタンス.values()

実際にJupyter Notebook で以下のコードを実行してみましょう。

food_money = {"breakfast" : 500, "lunch" : 300, "dinner" : 3000}
val_all = food_money.values()
val_all

実行しますと、以下の結果が出ます。

values

items

辞書型の要素をすべて取得します。具体的には以下のように記述します。

キーを取得した辞書型のインスタンス.items()

実際にJupyter Notebook で以下のコードを実行してみましょう。

food_money = {"breakfast" : 500, "lunch" : 300, "dinner" : 3000}
elements = food_money.items()
elements 

実行しますと、以下の結果が出ます。

items

update

辞書型に要素を追加することができます。具体的には以下のように記述します。

要素を追加したい辞書型のインスタンス.update(別の辞書型のインスタンス)

実際にJupyter Notebook で以下のコードを実行してみましょう。

food_money = {"breakfast" : 500, "lunch" : 300, "dinner" : 3000}
add_food_money = {"snack" : 100, "midnight_snack" : 300}
food_money_new = food_money.copy()
food_money_new.update(add_food_money)
food_money_new 

実行しますと、以下の結果が出ます。

update

要素が重複すると、後の要素の値に更新されてしまいます。実際にJupyter Notebook で以下のコードを実行してみましょう。

food_money = {"breakfast" : 500, "lunch" : 300, "dinner" : 3000}
add_food_money = {"snack" : 100, "midnight_snack" : 300, "breakfast" : 800}
food_money_new = food_money.copy()
food_money_new.update(add_food_money)
food_money_new 

実行しますと、以下の結果が出ます。

update重複

このように、要素が重複していた”breakfast”がadd_food_moneyの値に更新されていることがわかると思います。

最後に

今回は辞書型について解説しました。長文の記事になりましたので、時間をかけて学習することをお勧めします。本記事は以上です。ありがとうございました。

タイトルとURLをコピーしました