くり返しとデータの持ち方

INPUT · スライド

名前で取り出す入れ物

01 / 06

番号では意味が分からない

リストは値を順番に並べて持てた。でも ["ゆい", 15] を見て、15 が何の数かすぐに分かるかな。

年齢? 点数? 身長? 番号で取り出す入れ物は、中身の意味を覚えておくのが自分の仕事になってしまうんだ。

hito = ["ゆい", 15]print(hito[0])print(hito[1])

実行結果

ゆい
15

02 / 06

名前をつけて持つ

そこで使うのが 辞書(ディクショナリ)。{} の中に 名前: 値 の組をカンマで並べるよ。

取り出すときは番号のかわりに名前をカッコに入れる。hito["namae"] と書けば、何を取り出しているのか一目で分かるね。

hito = {"namae": "ゆい", "toshi": 15}print(hito["namae"])print(hito["toshi"])

実行結果

ゆい
15

03 / 06

キーと値

辞書の言葉を覚えよう。

  • キー … 取り出すときに使う名前。"namae" の部分
  • 値 … しまってある中身。"ゆい" の部分

キーと値はいつも組で入っている。「キーで値を引く」——これが辞書のすべてだよ。

mise = {"namae": "パンや", "nedan": 150}print(mise["nedan"])

実行結果

150

04 / 06

まるごと表示すると

辞書をそのまま print すると、中身が全部出てくる。並ぶのは書いた順のままだよ。

ただし文字が ' で囲まれて出てくる。自分は " で書いたのに、なぜ? これは Python が中身を見せるときの流儀で、中身が変わったわけではないんだ。いまは気にしなくていいよ。

hito = {"namae": "ゆい", "toshi": 15}print(hito)

実行結果

{'namae': 'ゆい', 'toshi': 15}

05 / 06

無いキーを引くとエラー

辞書に無いキーを引くと、Python は KeyError を出して止まる。

リストで範囲の外を指したときと同じで、「無いものは無い」とはっきり教えてくれるんだ。だまって None を返したりはしないよ。

hito = {"namae": "ゆい"}print(hito["shumi"])

実行結果

KeyError: 'shumi'

06 / 06

値は何を入れてもいい

値には文字でも数でも True でも None でも入れられる。種類がそろっていなくていいのが辞書の気楽なところだよ。

中身が何も無い辞書は {} と書く。空から始めてキーを足していく使いかたは、次のレッスンでやるよ。

mise = {"namae": "パンや", "nedan": 150, "eigyou": True}print(mise["eigyou"])print({})

実行結果

True
{}