【python】動物たちに名前を聞いて親密度を高めよう【辞書】

みなさん、こんにちはケンケンです。

 

Pythonの基本事項についてお伝えしています。

前回は、リストとタプルについてお話ししました。

前回の記事は以下から確認ください。

前回記事

みなさん、こんにちはケンケンです。   Pythonの基本事項をお伝えしています。 今回は、リストとタプルについてお話しします。 データをまとめておいておく大きな箱のようなものです。 これをうまく使い[…]

 

今回は、辞書機能についてお伝えします。

キーと値をうまく使うことでデータ管理の可能性を広げることができます。

それでは、以下ご覧ください。

 

動物たちに名前を付けてあげよう(辞書機能を使う)

そういえば僕たち名前がなかったなぁ・・
たしかに・・今まで動物名で呼ばれてたね
それじゃ、みんなの名前を付けていこう!

辞書を作ってみよう

動物たちに名前を付けてあげるために辞書機能を使います。

辞書は、キーと値を要素としてペアに持つデータの集合です。

まずは、書式をご覧ください。

 

▶辞書の書式

変数 = { キー1 : 値1, キー2 : 値2, キー3 : 値3, ・・・ }

キーと値でひとつの要素です。

使い方としては、{’コーヒー’ : ‘キリマンジャロ’}という要素があったら、

コーヒーをキーにしてキリマンジャロを検索することができます。

 

また、要素の書き換えはできますが、キーのみの書き換えはできません。

キーを変更したい場合は、要素ごと削除します。

 

それではコードを書いて練習してみましょう。

▶辞書の基本コード

コードが書けたら実行してみましょう。

動物名をキーにしてそれぞれの名前を値に格納することができました。

これで動物たちの名前が分かりましたね。


ぺんぺん
ぺんぺんです!
コタロウ
コタロウです!
ミケ
ミケです!
ケンケン
みんなよろしく!

辞書に登録した要素を参照してみよう

登録済みのデータを参照したい場合は、ブラケット[]を使います。

▶要素の参照方法

辞書名[ 登録済のキー]

▶参照するときのコード

print関数以下が参照のコードです。

これを実行してみましょう。

ケンケン
ケンケン隊にいた犬の名前って何だっけ?(character[‘犬’])
コタロウ
コタロウです!

 


要素を追加したい場合と変更したい場合

辞書はミュータブルなので要素を追加することもできます。

▶要素の追加方法

辞書名[ キー]= 値

 

▶要素追加のコード

ケンケン
カエルの名前はケロで辞書に登録しよう!(character[‘カエル’] = ‘ケロ’)
ケロ
カエルのケロです。よろしく!

 


 

続いて要素の値を変更してみましょう。

辞書はリストと違って順番がないのでインデックスで指定することができません。

そこで、キーを指定して参照する方法をとります。

 

▶要素の変更方法

辞書名[ 登録済みのキー]= 値

▶要素変更のコード

 

ケンケン
ケロくん、画数悪いから改名してくれる?(character[‘カエル’] = ‘ケロケロ’ )

 

ケロ改めケロケロ
了解ケロ!
ぺんぺん
軽いな!

for文とメソッドの組み合わせで要素を抜き出してみよう

keysメソッドを使ってみよう

辞書も繰り返し処理で要素を抜き出すことが可能です。

メソッドと組み合わせると簡単にできます。やってみましょう。

▶keysメソッドの書式

辞書名.keys()

keysメソッドは辞書のキーをまとめて取得できます。

サンプルコードを書いて実行してみましょう。

▶keysメソッドのコード

 

ちなみに抜き出されたキーはリストの要素として返ってきています。

valuesメソッドを使ってみよう

キーを抜き出せるメソッドがあるなら値を抜き出せるメソッドも存在します。

それがvaluesメソッドです。書式やコードの流れはkeysメソッドと同じです。

▶valuesメソッドのコード

さあ、これで値を抜き出すこともできました。

itemsメソッドを使おう

最後にitemsメソッドをご紹介します。

これは、キーと値両方抜き出すことができます。

▶itemsメソッドのコード

抜き出したキーと値のセットはタプルになっています。「カッコ()」で囲まれている部分がタプルです。

タプルはイミュータブルでしたね。つまり、キーと値の位置は変更不可ということです。

 

for文で繰り返してみよう

辞書からキーと値を抽出する方法がいくつかあることが分かりました。

これらの情報はfor文を使って繰り返し処理することも可能です。

for文についてあいまいな方は以下の記事で復習してください。

for文の復習

みなさん、こんにちはケンケンです。   Pythonでプログラミングの基礎をご紹介しています。 前回は、if文を使った条件分岐についてお伝えしました。 [sitecard subtitle=前回記事 url[…]

 

▶辞書をfor文で繰り返す書式(keysメソッド)

for キーを代入する変数 in 辞書名.keys() :

       繰り返したい処理

keysメソッドを使って辞書のキーを繰り返し抜き出すコードを書いてみましょう。

▶keysメソッドを使った繰り返しコード

同様にしてvaluesメソッドを使って値を繰り返し抜き出すこともできますので、みなさんご自分で試してください。

itemsメソッドを繰り返して動物に名前を聞いてみよう

itemsメソッドもfor文でキーと値を繰り返し抽出することができます。

少し特殊です。書式から見ていきましょう。

▶辞書をfor文で繰り返す書式(itemsメソッド)

for キーを代入する変数, 値を代入する変数 in 辞書名.items() :

       繰り返したい処理

キーと値を代入するために2つ分変数を用意する必要があります。

この手法を使って動物たちに出席をとってみたいと思います。

▶itemsメソッドを使った繰り返しコード

for以下にanimalkey, animalvalueという2つの変数を用意します。

itemsメソッドで辞書からデータを抜き出し、

animalkeyにはキー(動物名)をanimalvalueには値(名前)を格納します。

 

さらに、formatメソッドを使うと文字列の中に特定の文字を埋め込むことができます。

▶formatメソッドの書式

{}.format( 置き換える文字列 )

▶formatメソッドの一例

引数は複数設定できます。

{}の並び順の通りに引数を指定すると上図のように書き出すことができます。

 

それでは、itemsメソッドを使ったコードを実行してみましょう。


ケンケン
ぺんぎんくんお名前は?
ぺんぺん
ぺんぺんです!

 

 

ケンケン
犬くんお名前は?
コタロウ
コタロウです!

 

ケンケン
猫くんお名前は?

 

ミケ
ミケです!
ケンケン
カエルくんお名前は?
ケロケロ
ブラッドピットです!
ケンケン
うん、そっくりだね・・・

まとめ

いかがでしたか。

今回は、辞書機能についてお伝えしました。

データを扱う上で非常に重要な論点でかつ応用は無限です。

いろいろ試しながら慣れていってください。

次回から「クラス」についてお伝えしますのでお楽しみに!

それでは、また次回お会いしましょう。

 

おすすめ記事

パソコンスキル

みなさん、こんにちはケンケンです。   みなさんは、パソコンスキルの向上がとてつもなく大事であるという認識はありますか。 パソコンはもう古い!すぐにスマホにとって代わられるんじゃないか と思っている方も多い[…]

 


ミケ
やっぱり名前があるとしっくりくるね!

 

コタロウ
そうだね。やる気がアップするよ!

 

ぺんぺん
うん、辞書機能はプログラムの可能性を広げてくれそう。
ぺんぺん
ケロケロくんもそう思うでしょ?

 

 

ケロケロ
僕の名前はジョニーデップです!
ぺんぺん
もうええわ!