この記事を読むと、Pythonの辞書の基本的な作り方、キーと値の指定の仕方、次のデータの追加方法、辞書から「キーを指定」して「値を取り出す方法」が学べます。
また、Pythonでの標準入力の書き方の復習も可能です。
この記事で作成する辞書の具体例として、医療系ドラマ「コード・ブルー ドクターヘリ緊急救命 3rd season」のキャラクターを用います。(山Pこと元NEWSの山下智久さん主演のドラマです。)
Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介
おはこんばんにちは!
うにゃうにゃエンジニアの猫です(=^・^=)
辞書は、キーと値で構成されているので、「{(波かっこ)」で括って、下記のように記述します。
character_dic={‘ドクター’:’藍沢耕作’}
で、この場合は【キー】が「ドクター」で、【値】が「藍沢耕作」です。
キーと値は「:」で区切っています。
この辞書にあと1人だけ(私の推しキャラ!)を追加してみます。
character_dic={‘ドクター’:’藍沢耕作’,’ナース’:’雪村双葉’}
辞書は、「,」を区切ることによって次のデータが入ります。
同様にして、他のキャラクターも追加して、辞書character_dicは、この様になりました。
character_dic={‘ドクター’:’藍沢耕作’,’フェロー’:’名取楓馬’,’ナース’:’雪村双葉’,’患者’:’緒方さん(板前の患者)’,’その他’:'(=^・^=)mm。。。’}
この辞書を単純に出力するコードと、その実行結果です。
#コードブルーのキャラクターの辞書。
#職業をキー、名前を値
character_dic={'ドクター':'藍沢耕作','フェロー':'名取楓馬','ナース':'雪村双葉','患者':'緒方さん(板前の患者)','その他':'(=^・^=)mm。。。'}
print(character_dic)

では、標準入力と単純なIF文を使って、少しアレンジをしていきたいと思います。
標準入力で、「d」と入力するとキー「ドクター」が指定されて値の「藍沢耕作」が出力されます。(ifの条件が真の時に該当)
「f」と入力するとキーに「フェロー(研修医)」が指定されて値の「名取楓馬」を出力されます。(elifの条件が「f」の時に該当)
「n」と入力するとキーに「ナース」が指定されて値の「雪村双葉」が出力されます。
(elifの条件が「n」の時に該当)
「p」と入力するとキーに「患者」が指定されて「緒方さん(板前の患者)」が出力されます。pは患者(patient)のpです。
(elifの条件が「p」の時に該当)
また、それ以外のテキトーな入力をすると、キーに「その他」が指定され、猫マークの「(=^・^=)mm。。。」が出力されます。(elseに該当)
ここまでのコートを、かいつまんで解説すると、標準入力の直前に、
print(‘【d】ドクター、【f】フェロー、【n】ナース,【p】患者 【記号】を入力>>>’,end=”)
と、書いています。
最後のend=”は、改行せずにこのメッセージの直後に【d】や【f】を入力できる様にしています。
標準入力は
job=input()
で、ここで【d】とか【f】などの文字を変数jobに格納します。
その後はIF文で分岐させています。
if job=='d':
index='ドクター'
elif job=='f':
index='フェロー'
elif job=='n':
index='ナース'
elif job=='p':
index='患者'
else:
index='その他'
その後にjobに入力された【d】や【f】がこのIF文による分岐で、indexに「ドクター」や「フェロー」などの辞書のキーが代入されます。
その代入されたindexを辞書のキーとして、キャラクター名を下記のprint文で出力しています。
print(character_dic[index])
では、これまでのコードと実行結果です。
#コードブルーのキャラクターの辞書。
#職業をキー、名前を値
character_dic={'ドクター':'藍沢耕作','フェロー':'名取楓馬','ナース':'雪村双葉','患者':'緒方さん(板前の患者)','その他':'(=^・^=)mm。。。'}
#標準入力でキーを指定
print('【d】ドクター、【f】フェロー、【n】ナース,【p】患者 【記号】を入力>>>',end='')
job=input()
#IF文による分岐で辞書のキーを指定して、変数indexに代入する
if job=='d':
index='ドクター'
elif job=='f':
index='フェロー'
elif job=='n':
index='ナース'
elif job=='p':
index='患者'
else:
index='その他'
#辞書のキーにindexが入って、該当する値が出力される
print(character_dic[index])
ここから実行結果を見ていきます。頭の中でIFによる分岐をイメージして書きました。
標準入力で【d】を指定した場合。

標準入力で【f】を指定した場合。

標準入力で【n】を指定した場合。

標準入力で【p】を指定した場合。

標準入力でなんかテキトーなキー(ここでは【y】)を指定した場合。

ご精読ありがとうございました。
■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。
Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。