「サザエさん」のキャラで、Pythonの辞書をループを取り出す

この記事を読むことで、

・Pythonの辞書の「キー」及び「値」とは何か

・辞書自体をそのまま表示

・「辞書.items()」を使って、辞書をループを使って取り出す

といったことの理解が可能になります。

辞書の例として、国民的アニメの「サザエさん」のキャラクターの「職業をキー」に、「キャラクターを値」にしています。

辞書は{“キー”:”値” , “キー”:”値” ,・・・}の構造になっていて、サザエさんキャラを例にすると、{“大黒柱”:”波平” , “主婦”:”サザエさん”}などになります。

5人ぐらいで良いかな・・・と思って、こちらの5名を用意しました。
辞書の名前は「sazaesan」です。

sazaesan={"大黒柱":"波平","主婦":"サザエさん","小学生":"カツオ","幼児":"タラちゃん","ペット":"タマ"}

では、この記事本編で詳細を見ていきます。

この5人のキャラクターの、職業と名前を辞書を使ってループで取り出して見ます。
まず、print関数でシンプルに辞書自体を表示させてみます。

コードはこちらです。

#サザエさんキャラの辞書を作成
sazaesan={"大黒柱":"波平","主婦":"サザエさん","小学生":"カツオ","幼児":"タラちゃん","ペット":"タマ"}

#辞書自体を「そのまま」出力
print(sazaesan)

辞書を「そのまま」取り出した実行結果です。

う〜〜〜ん
取り出せましたけれど、ちょっと見づらいですよね。

そこで、今度はこの辞書をループを使って出力してみます。

コードに下記を追加します。
キーとなるのはjob:職業で、となるのはchara:キャラクター名として、forループで(job,chara)とすると、「大黒柱,波平」から、「ペット,タマ」までの全てのメンバーを取り出せます。

辞書.items():

を使って、キーであるjobと、であるcharaを取り出します。
まずは、そのループの部分はこちらになります。

#辞書.items()を使ってループで出力
for (job,chara) in sazaesan.items():
    print(job,chara)

ここまでのコードです。

#サザエさんキャラの辞書を作成
sazaesan={"大黒柱":"波平","主婦":"サザエさん","小学生":"カツオ","幼児":"タラちゃん","ペット":"タマ"}

#辞書.items()を使ってループで出力
for (job,chara) in sazaesan.items():
    print(job,chara)

実行結果です。

まぁ、これでも辞書の「キー」と「値」が表示されていますけれど、もう少し日本語の体裁を整えたいと思います。

下記のように日本語を整えて表示します。

print(job+”の、”+chara+”さんです。”)

とprint文を表記します。
ここまでのコードです。

最後に改行を入れております。(← 私が実行画面のスクショを綺麗に撮りたい為ですので、深い意味はございません m(_ _)m  )

#サザエさんキャラの辞書を作成
sazaesan={"大黒柱":"波平","主婦":"サザエさん","小学生":"カツオ","幼児":"タラちゃん","ペット":"タマ"}

#辞書.items()を使ってループで出力
for (job,chara) in sazaesan.items():
    print(job+"の、"+chara+"さんです。")

#改行
print()

実行結果です。

もう少し「キー」と「値」を見やすくしたいので、コードをこの様に書き換えます。

print(“【”+job+”】の、【”+chara+”】さんです。”)

ここまでのコードです。

#サザエさんキャラの辞書を作成
sazaesan={"大黒柱":"波平","主婦":"サザエさん","小学生":"カツオ","幼児":"タラちゃん","ペット":"タマ"}

#辞書.items()を使ってループで出力
for (job,chara) in sazaesan.items():
   print("【"+job+"】の、【"+chara+"】さんです。")

#改行
print()

これで、実行してみます。

最後に、「そのままの」辞書とループ取り出しの両方を書いて見ます。

print文に「\n」を入れて改行させています。
文字列と一緒に数値(辞書)を表示させる時は、この様にstrで囲います。

#辞書自体を出力
print('\n'+str(sazaesan)+'\n')

ここまでのコードです。

#サザエさんキャラの辞書を作成
sazaesan={"大黒柱":"波平","主婦":"サザエさん","小学生":"カツオ","幼児":"タラちゃん","ペット":"タマ"}


#辞書自体を出力
print('\n'+str(sazaesan)+'\n')


#辞書.items()を使ってループで出力
for (job,chara) in sazaesan.items():
   print("【"+job+"】の、【"+chara+"】さんです。")

#改行
print()

これで実行してみます。

改行のprint()、もう少しスッキリさせたいですよね。
なので、もうちょっと改変します。

最後までお読みいただきありがとうございました。

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。