国語辞典で単語から意味を引けるように、キーワードを指定すると、キーワードに応じた値を取り出すことのできる「辞書」を作る機能が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.解答例
解答例一覧へ
※本サイト内
まとめ
リスト型やタプル型では、値を取り出すためにインデックス番号を指定していました。しかし値が増えていくと、ほしい値のインデックス番号がすぐに出すことが困難になります。
辞書型では、インデックス番号の代わりに「キー」をとして文字列や数字を設定することができます。
コメント