Python|辞書(dict型)で指定したkeyから値を取得する:get()

スポンサーリンク

1. はじめに

Pythonでデータを扱う際に頻繁に使われるのが辞書(dict型)です。辞書は「キー(key)」と「値(value)」のペアでデータを管理できるため、検索やデータ管理にとても便利です。
その中でもget()メソッドを使うと、指定したキーに対応する値を安全に取得できます。この記事では、Python初心者〜中級者向けに「Python|辞書(dict型)で指定したkeyから値を取得する:get()」の使い方を、基礎から応用まで丁寧に解説していきます。

 

2. Python辞書のget()メソッドの基本解説

まずは基本から確認しましょう。dict.get(key, default)は辞書から指定したキーに対応する値を取得します。キーが存在しない場合でもエラーにならず、代わりにNoneまたは指定したデフォルト値を返します。

2-1. 基本的な使い方

# 辞書の定義
person = {"name": "Alice", "age": 25, "city": "Tokyo"}

# get()で値を取得
print(person.get("name"))   # 存在するキー
print(person.get("gender")) # 存在しないキー

実行結果:

Alice
None

このように、存在しないキーを指定してもエラーにはならずNoneが返る点がポイントです。

2-2. デフォルト値を指定する

# 存在しないキーを取得するが、デフォルト値を設定
print(person.get("gender", "unknown"))

実行結果:

unknown

get()は「キーが無い場合に代わりの値を返す」仕組みを備えているため、条件分岐を減らしてコードをシンプルにできます。

 

3. よくある使い方・応用例

実務や学習で役立つget()の使い方を見ていきましょう。

3-1. データベースやAPIレスポンスの処理

APIから返ってきたJSONを辞書として扱う際、キーが存在しないケースがあります。そんな時にget()を使うと安全です。

# APIレスポンスを模した辞書
response = {"status": "success", "data": {"id": 101, "name": "Product A"}}

# キーがある場合とない場合を安全に取得
product_name = response.get("data", {}).get("name", "No Name")
product_price = response.get("data", {}).get("price", "Not Available")

print(product_name)
print(product_price)

実行結果:

Product A
Not Available

このようにネストした辞書でもget()を組み合わせることで、存在しないキーによるエラーを回避できます。

3-2. 辞書を利用したカウンター処理

文字列中の文字数をカウントするような処理にも便利です。

text = "banana"
counter = {}

for char in text:
    counter[char] = counter.get(char, 0) + 1

print(counter)

実行結果:

{'b': 1, 'a': 3, 'n': 2}

get()を使うことで「キーが無ければ0からスタートする」という書き方ができ、簡潔でバグの少ないコードになります。

3-3. 設定値やユーザー入力の取り扱い

辞書を設定値として利用するケースでもget()は有効です。

settings = {"theme": "dark", "language": "ja"}

# 安全に取得しつつ、デフォルト値も指定
theme = settings.get("theme", "light")
language = settings.get("language", "en")
fontsize = settings.get("fontsize", 14)

print(theme, language, fontsize)

実行結果:

dark ja 14

ユーザー入力や外部データを扱う場合も、エラーを防ぎながら柔軟に処理できます。

 

4. 注意点・エラー対策

get()は便利ですが、以下の点に注意が必要です。

4-1. デフォルト値の指定を忘れるとNoneになる

存在しないキーを指定した場合、Noneが返ります。そのまま計算に使うとエラーになるので、数値処理には必ずデフォルト値を設定しましょう。

4-2. ネストが深い場合は工夫が必要

入れ子になった辞書で深い階層のキーを取得する場合、get()をチェーンして書く必要があります。処理が複雑になる場合は、ライブラリ(例:dict.get()の代わりにdefaultdictsetdefault())を検討するのも良い方法です。

4-3. 存在確認が必要な場合はin演算子を使う

値の存在を厳密に確認したい場合はif "key" in dictを使うほうが確実です。

 

5. まとめ

本記事では「Python|辞書(dict型)で指定したkeyから値を取得する:get()」について解説しました。

  • get()はキーが存在しない場合でもエラーにならず安全
  • デフォルト値を指定することで処理をシンプルにできる
  • 実務ではAPIレスポンスや設定値の処理に役立つ
  • カウンター処理など学習にも応用できる

特に実務では「外部から取得したデータはキーが必ずあるとは限らない」ため、get()を習慣的に使うことでバグを未然に防ぐことができます。学習のコツとしては、まずget()を使って安全に値を取得する練習をしてから、setdefault()defaultdictなどの発展的な使い方に進むと理解がスムーズになります。

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