LoginSignup
1
0

【Python】辞書型について(辞書型ネスト)

Last updated at Posted at 2023-08-17

【Python】辞書型について

全然わからないので、調べて書いてみた。

①キーを指定して「値」を取得する方法

         #  {キー: 値, キー: 値,...}
fruit = {"apple": "red", "grape": "purple", "pine": "yellow"}

key = fruit["grape"]

print(key)
実行結果
purple

②存在しないキーを指定するとエラーが出る

存在しないキーを指定
fruit = {"apple": "red", "grape": "purple", "pine": "yellow"}

# 存在しないキーを指定
key = fruit["orange"]

print(key)
実行結果
.
.

   key = fruit["orange"]
          ~~~~~^^^^^^^^^^
KeyError: 'orange'

存在しないキーを指定するとエラー文がでます!

③エラー文を出さない方法。getメソッドを使う。

エラー文を指定する
fruit = {"apple": "red", "grape": "purple", "pine": "yellow"}

key = fruit.get("orange", " ")

print(key)
実行結果
None

key = fruit.get("orange", " ")後ろに何も書かなければNoneが返ってきます。
(エラー文も出ずに何も表示されないということは、Noneが変えてってきているという風に考えていいと思います。
実際、私も何も表示されなかったのですが、Noneが返ってくることになっているはずなので分かりやすく、無理やり書きました。(笑))

④エラー文自分の好きなように指定できます

エラー文を指定する
fruit = {"apple": "red", "grape": "purple", "pine": "yellow"}

key = fruit.get("orange", "エラーだよ")

print(key)

「エラーだよ」と記述してみました。
すると…

実行結果
エラーだよ

自分が指定したエラー文が出てきました!

getメソッドとは?

get()とは、辞書の「キー」から「値」を取得するメソッドになります。
存在しないキーにget()を使うと、Noneが返ってくるようになっています。

getの書き方
辞書.get(キー, デフォルト値)

①キー・・・辞書で取得したい値に対する「キー」を指定する
②デフォルト値・・・存在しないキーを取得する場合の「値」を指定する

辞書型ネスト

ネストとは・・・入れ子のことです!

入れ子とは、今回だと辞書型(dic)の中にさらに辞書型(dic)を入れることです。

fruits = {
    "fruits1": {
        "name": "apple",
        "area": "aomori",
        "quantity": 10
    },
    "fruits2": {
        "name": "orange",
        "area": "ehime",
        "quantity": 5
    }
}

キーと値はどれなのかについては、めちゃくちゃ分かりずらいかもしれないですが、分けて書いてみました。
辞書の中に辞書がさらに入っている感じになってます。
fruits = { (キー)から見ると、fruits1とfruits2がすべて値になります。

fruits = {                    # キー
    "fruits1": {                  # 値
        "name": "apple",          
        "area": "aomori",
        "quantity": 10
    },
    "fruits2": {
        "name": "orange",
        "area": "ehime",
        "quantity": 5
    }                             # ここまで値
}                             # キーのとじカッコ

fruites1(キー)から見ると、"name": "apple", "area": "aomori", "quantity": 10 が値になります。

"fruits1": {                  # キー
        "name": "apple",          # fruites1の値
        "area": "aomori",         # fruites1の値
        "quantity": 10            # fruites1の値
    },                        # キーのとじカッコ
    "fruits2": {              # キー
        "name": "orange",         # fruites2の値
        "area": "ehime",          # fruites2の値
        "quantity": 5             # fruites2の値
    }                         # キーのとじカッコ

最後は、最初の時に学ぶ形のキー:値になります。

         # キー : 値
        "name": "apple",            
        "area": "aomori",
        "quantity": 10
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0