PR

辞書型を理解する

屋外で晴れた日にランニングを楽しむシーン。リフレッシュし、清々しい気分を表現 python

テーマ:再学習!Pythonの辞書型を使ったループ処理を理解しよう!

Pythonの辞書型とは

以前も辞書型に関するfor文をご紹介しましたが、より理解を深めるという意味で改めて学習をしていきたいと思います。

Pythonの辞書型は、キー(key)と値(value)のペアを保存するためのデータ構造です。辞書を使うことで、例えば「果物」と「値段」のように関連する情報をわかりやすく管理することができます。

辞書型のループ処理:キー、値、キーと値のセット

辞書型は、ループ処理をする際に以下の三種類の方法があります。

  1. キー (key) のループ処理
  2. 値 (value) のループ処理
  3. キーと値 (key-value) をセットにしたループ処理

それぞれ順番に解説します。

1.キー (key) のループ処理

辞書のキーを順番に処理するには、.keys() メソッドを使用します。

fruit_prices = {'りんご': 120, 'みかん': 80, 'ぶどう': 450}
for key in fruit_prices.keys():
    print(key)

このコードを実行すると、以下のようにキー(果物名)が出力されます。

りんご
みかん
ぶどう

補足ですが、.keys() は省略可能です。次のように書いた場合でも同じ結果が得られます。

for key in fruit_prices:
    print(key)

2.値 (value) のループ処理

値を順番に処理するには、.values() メソッドを使用します。

fruit_prices = {'りんご': 120, 'みかん': 80, 'ぶどう': 450}
for value in fruit_prices.values():
    print(value)

このコードを実行すると、以下のように値(値段)が出力されます。

120
80
450

3.キーと値をセットにしたループ処理

キーと値をセットで処理する場合は、.items() メソッドを使用します。

fruit_prices = {'りんご': 120, 'みかん': 80, 'ぶどう': 450}
for key, value in fruit_prices.items():
    print(f"{key}: {value}円")

このコードを実行すると、以下のようにキーと値のセット(果物名と値段)が出力されます。

りんご: 120円
みかん: 80円
ぶどう: 450円

辞書型で練習問題を解いてみよう!

ここでは、辞書型に関する簡単な練習問題とその解答を用意しました。値の更新や条件分岐を使って、辞書型の扱い方をしっかりと学びましょう!

問題1: 値の更新をしてみよう!

以下の辞書には果物と価格が入っています。

fruit_prices = {'りんご': 120, 'みかん': 80, 'ぶどう': 450}

問題: 「みかん」の値段を 100円 に更新してください。そして辞書の内容を print で表示してください。

ヒント:構文は以下のように書きます。

辞書名['キー'] = 新しい値

回答

fruit_prices = {'りんご': 120, 'みかん': 80, 'ぶどう': 450}
fruit_prices['みかん'] = 100  # 値を更新
print(fruit_prices)

解説

辞書内の値を更新するには、指定したキー(今回の場合は「みかん」)に対して新しい値を代入します。コードの実行結果は以下のようになります:

{'りんご': 120, 'みかん': 100, 'ぶどう': 450}

この操作で、辞書内の値段を変更することが確認できます。

問題2: 条件分岐を使って値を変更しよう!

以下の辞書には果物と価格が入っています。

fruit_prices = {'りんご': 200, 'みかん': 80, 'ぶどう': 450}

問題: 辞書内の果物で 価格が150円以上 のものだけ値段を20%割引してください。そして辞書の内容を print で表示してください。

ヒント:条件分岐を使います。

if 辞書名['キー'] >= 条件値:

値段を計算する際、割引率(例:20%)を掛け算します:

辞書名['キー'] = 辞書名['キー'] * 割引率

回答

fruit_prices = {'りんご': 200, 'みかん': 80, 'ぶどう': 450}
for fruit in fruit_prices.keys():
    if fruit_prices[fruit] >= 150:  # 150円以上の場合
        fruit_prices[fruit] = int(fruit_prices[fruit] * 0.8)  # 20%割引
print(fruit_prices)

解説

このコードでは、ループで辞書内のキーを取得し、条件分岐 (if) で価格をチェックします。該当する果物の値を計算式 (* 0.8) で割引しています。実行結果は以下の通りです:

{'りんご': 160, 'みかん': 80, 'ぶどう': 360}

価格が割引され、整数に変換 (int()) して表示されています。

問題3: 条件に一致した値のみ集めよう!

以下の辞書には果物と価格が入っています。

fruit_prices = {'りんご': 120, 'みかん': 80, 'ぶどう': 450}

問題: 条件に一致する果物だけを含む新しい辞書を作成してください。

条件:果物の値段が100円以下

新しく作成した辞書の内容を print で表示してください。

ヒント:条件分岐とループを使います。

if 値 <= 条件値:

一致するキーと値を新しい辞書に追加します:

新しい辞書[キー] = 値

回答

fruit_prices = {'りんご': 120, 'みかん': 80, 'ぶどう': 450}
new_dict = {}
for fruit, price in fruit_prices.items():
    if price <= 100:  # 100円以下の場合
        new_dict[fruit] = price  # 新しい辞書に追加
print(new_dict)

解説

辞書内をループし、条件分岐で値をチェックします。条件に一致したキーと値を新しい辞書に追加します。実行結果は以下の通りです:

{'みかん': 80}

条件によって「みかん」のみが新しい辞書に追加されています。

まとめ

まとめ

Pythonの辞書型でループ処理をする方法は以下のとおりです。

  • .keys() を使ってキーを処理する
  • .values() を使って値を処理する
  • .items() を使ってキーと値をセットで処理する

辞書型はデータを柔軟に扱えるため、Pythonプログラミングでは欠かせない存在です。果物と値段の例を参考にして、辞書型をより上手に使いこなしてください。

次回は辞書型の基本的な問題を解いて理解を深めましょう!お楽しみに!

コメント

タイトルとURLをコピーしました