スポンサーリンク

辞書型(dict型)|辞書を利用した複数データ処理

リストや関数について

国語辞典で単語から意味を引けるように、キーワードを指定すると、キーワードに応じた値を取り出すことのできる「辞書」を作る機能がPythonには存在します。

辞書型とは?

「辞書型」とはキーとデータを紐付けするデータ型です。
もととなる言葉をkey(キー)、紐づく値をvalue(バリュー)といいます。

書き方

辞書を書くには全体を「{ }」(波カッコ)で囲み、その中に「key」と「value」の組み合わせを「」(コロン)で区切って書きます。
複数のデータを辞書へ入れる場合、「,」(カンマ)区切りでデータを増やしていきます。
※キーとバリューには数値型でも文字列型でも入れることができます。

書式

変数 = {‘key1‘:value1, ‘key2‘:value2,…}


分かりづらいので、1つ定義例を示します。

辞書型定義例

読売ジャイアンツの永久欠番を数字の小さい順に3名分、辞書のデータに入れていきます。
※アンチ巨人ファンの皆様悪しからず。。

辞書型のいろいろな操作

上記の定義例を用いて、いろいろな操作をみていきましょう。

辞書からデータを取得する

辞書からデータを取得したいときは、辞書が入った変数の後ろに「[ ]」(角カッコ)で囲んだキーを入れるだけです。 (下図6行目部分)

キーやバリューを読み込む

キーだけを読み込む「keys( )」、バリューだけを読み込む「values( )」、キーとバリューのペアを読み込むことができる「items( )」もあります。
それぞれ、辞書型の変数名のうしろに「.」(ピリオド)を置いてつなげます。

IDELを用いて実行すると

辞書型の中身はキーやバリューで複雑になりがちです。
これらの関数を使えば、それぞれ必要なデータだけを表示できます。

辞書型にキーが含まれるか「in」で確認

辞書型の変数のキーに指定したものが含まれているか確認するには、「in」機能を使います。
辞書型の変数名の前に「in」を置き、さらにその前にキーを置きます。

キー in 辞書型の変数名


1)キーが含まれていた場合は「True」
2)含まれていない場合は「False」


print()と合わせて、出力されるようにプログラムを書いていきます

辞書型「number_dict」のキーに「’2’」はないため「False」が出力されます。

辞書型のバリュー(値)を更新する

辞書型では、キーを指定してバリューを更新することができます。
もしキーが存在してしない場合、新しいキーとバリューのペアとして変数に追加されます。

辞書型の変数名のあとに「[ ]」(角カッコ)でキーを指定し、「=」(イコール)を続け、更新したい値を入力します。

1)key1のバリューを「王貞治」⇒「世界の王」
2)key4、value4を新しいペアとして追加し、key4「14」value4「沢村栄治」
以上2点を更新・追加し、表示するようなプログラムを書いていきます

IDELを用いて実行すると

辞書型のバリュー(値)を削除する

辞書型ではキーとバリューがペアのため、キーを指定して削除するとペアになるバリューも削除されます。
キーを指定して削除するには「del機能」を使います。

「del」のあとに辞書型の変数名を続け、「[ ]」(角カッコ)でキーを指定します。

key1を指定して削除し、print()で表示するようなプログラムを書いていきます

IDELを用いて表示すると

Q.練習問題

問題文

下記の文房具と売価を辞書型のデータとして定義して、データ一覧を画面に出力するプログラムを作成しなさい。

※文房具と売価
消しゴム 50円
シャープペンシル 100円
マーカーペン 150円
3色ボールペン 300円
以上4点

ヒント

for構文

A.解答例

解答例一覧へ
※本サイト内

まとめ

リスト型やタプル型では、値を取り出すためにインデックス番号を指定していました。しかし値が増えていくと、ほしい値のインデックス番号がすぐに出すことが困難になります。
辞書型では、インデックス番号の代わりに「キー」をとして文字列や数字を設定することができます。

コメント

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