Python辞書の基本操作 キーと値の取得・追加・削除をマスター

【作業自動化】Python
スポンサーリンク

Pythonの辞書(dictionary)は、キー(Key)と値(Value)を対応させて管理するデータ構造です。実務におけるデータ処理や設定値の管理、API連携など、幅広い場面で必須となる基礎技術です。

今回は、辞書を扱う上で基本となる「値の取得」「要素の追加・更新」「要素の削除」、さらに「キーや値の一覧取得」について、実務で役立つ安全な記述方法を解説します!

【作業自動化】Pythonの記事を見る

値の取得方法と安全なgetメソッドの活用

辞書から特定の値を取得するには、キーを直接角括弧で指定する方法と、getメソッドを利用する2つの方法があります。

  • 直接キーを指定する方法: キーが存在しない場合、KeyErrorという例外が発生します。確実にキーが存在すると分かっている場面に適しています。
  • getメソッドを利用する方法: キーが存在しない場合でもエラーにならず、Noneまたは指定した初期値(デフォルト値)を返します。事前にキーの存在確認を行う手間が省けるため、実務ではこちらの活用がおすすめです。
# 辞書の作成
data = {"name": "佐藤", "age": 30, "role": "Engineer"}

# 方法1: キーを指定して取得
print(data["name"])  # 出力: 佐藤

# 方法2: getメソッドで取得(推奨)
print(data.get("age"))  # 出力: 30
print(data.get("city"))  # 出力: None(存在しない場合)
print(data.get("city", "未設定"))  # 出力: 未設定(第2引数で初期値を指定可能)

要素の追加と更新における代入とupdateメソッド

辞書に新しいデータを登録したり、既存の値を書き換えたりする操作は直感的に行うことができます。

  • キーへの値の代入: 指定したキーが辞書内に存在しない場合は新規追加となり、既に存在する場合は上書き更新となります。
  • updateメソッドによる一括更新: 複数の要素をまとめて更新したい場合や、別の辞書同士を結合したい場合に便利です。
data = {"apple": 100, "banana": 200}

# 追加
data["grape"] = 300
print(data)
# 出力: {'apple': 100, 'banana': 200, 'grape': 300}

# 更新(既存のキーを指定)
data["apple"] = 150
print(data)
# 出力: {'apple': 150, 'banana': 200, 'grape': 300}

# 別の辞書を結合してまとめて更新する場合
new_data = {"banana": 250, "orange": 400}
data.update(new_data)
# bananaは更新され、orangeは追加されます

要素の削除方法 popメソッドとdel文の使い分け

辞書から不要になったデータを削除する操作には、用途に応じた複数の手段が用意されています。

  • popメソッド: 指定したキーの要素を削除すると同時に、その値を戻り値として取り出します。削除したデータをその後の処理で利用したい場合に最適です。
  • del文: 指定したキーの要素を削除します。戻り値は取得できません。
  • clearメソッド: 辞書内のすべての要素を一度に削除し、空の辞書にします。
data = {"apple": 150, "banana": 250, "orange": 400}

# 指定して削除(popは削除した値を返すので、変数で受け取ることも可能)
removed_value = data.pop("banana")
print(removed_value)  # 出力: 250
print(data)  # 出力: {'apple': 150, 'orange': 400}

# del文で削除(値を返しません)
del data["apple"]

# すべて削除
data.clear()

print(data)  # 出力: {}

キーと値の一覧取得とループ処理の実践

辞書に含まれる全データを走査したり、特定の条件で抽出したりする際には、一覧取得用のメソッドが役立ちます。

  • keysメソッド: 辞書に含まれるすべてのキーを一覧で取得します。
  • valuesメソッド: 辞書に含まれるすべての値を一覧で取得します。
  • itemsメソッド: キーと値のペアをタプル形式で取得します。for文による繰り返し処理と組み合わせることで、データの走査が極めてスムーズに行えます。
data = {"name": "佐藤", "age": 30, "role": "Engineer"}

# キーの一覧を取得
keys = list(data.keys())
print(keys)  # 出力: ['name', 'age', 'role']

# 値の一覧を取得
values = list(data.values())
print(values)  # 出力: ['佐藤', 30, 'Engineer']

# キーと値をセットで取得(for文での反復処理)
for key, value in data.items():
    print(f"{key}: {value}")

辞書の基本操作まとめ

操作コード例特徴
値の取得data.get(“key”)キーが存在しなくても例外が発生せず、安全に取得可能
追加・更新data[“key”] = valueキーが存在しなければ追加、存在すれば上書き更新
削除data.pop(“key”)該当要素を削除しつつ、その値を変数等で受け取り可能
ループ処理data.items()キーと値のペアを同時に取り出して反復処理を実行可能

実務で扱うデータ構造の中には、辞書の値としてさらに辞書やリストが格納される入れ子(ネスト)構造も多く見られます。
そのためまずは今回の基本操作をしっかり身につけ、安全で読みやすいコード作成に役立ててみてください!

【作業自動化】Pythonの記事を見る


Pythonの本は種類が多すぎて、業務効率化に使えるのか見分けるのが大変ですよね。実務自動化に5年以上携わってきた私が、「デスクワークの自動化に即戦力になった本」を厳選して紹介します。失敗しない1冊を見つけたい方は、ぜひ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でしたが、年間100万円以上節約していました。
株式投資で年間360万円以上投資し、iDeCoも併用しています。
総資産はアッパーマス層に到達しました。
資格は日商簿記3級を持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、生産性を高めるITスキルについて発信しています。

生活を豊かにするため、高配当株投資で年間配当金60万円をめざしています。
現在の年間配当金は30万円ほどです。

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【作業自動化】PythonITスキル
スポンサーリンク
ぐーをフォローする

コメント

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