カテゴリ: Python 更新日: 2025/12/07

Pythonの辞書のキーを変更・削除する方法!pop()やdelの基本をわかりやすく解説

Pythonの辞書のキーを変更・削除する方法!pop()やdelの基本をわかりやすく解説
Pythonの辞書のキーを変更・削除する方法!pop()やdelの基本をわかりやすく解説

先生と生徒の会話形式で理解しよう

生徒

「先生、Pythonの辞書でキーを変えたいんですが、どうやったらできますか?」

先生

「いい質問ですね。実は辞書のキーは直接変更できないので、一度古いキーのデータを取り出して、新しいキーで追加し直す方法があります。」

生徒

「それと、辞書からデータを消す方法も知りたいです。pop()とかdelがあるって聞いたんですが…」

先生

「では今回は、辞書のキーの変更方法と、pop()delを使った削除の方法をわかりやすく説明しますね。」

1. Pythonの辞書とは?

1. Pythonの辞書とは?
1. Pythonの辞書とは?

辞書(dictionary)は、Pythonで「キー」と「値」の組み合わせを管理するデータ型です。例えば「りんご:赤」「バナナ:黄色」というように、名前(キー)で対応する情報(値)を取り出せます。

辞書の基本的な作り方は、波かっこ{}を使い、キーと値をコロン(:)でつなぎます。


fruit_colors = {"りんご": "赤", "バナナ": "黄色", "みかん": "オレンジ"}
print(fruit_colors["りんご"])  # 赤 と表示される

2. 辞書のキーを直接変更できない理由

2. 辞書のキーを直接変更できない理由
2. 辞書のキーを直接変更できない理由

辞書のキーは一度作ると、直接上書きして変更できません。これはキーがデータの住所のようなものだからです。

なので、キーを変えたいときは「古いキーの値を取り出して、新しいキーで追加し、古いキーのデータを削除する」必要があります。

3. 辞書のキーを変更する方法

3. 辞書のキーを変更する方法
3. 辞書のキーを変更する方法

具体的には、次のような手順で行います。

  • 古いキーの値を辞書から取り出す
  • 新しいキーを辞書に追加し、値をセットする
  • 古いキーのデータを削除する

例を見てみましょう。


fruit_colors = {"りんご": "赤", "バナナ": "黄色"}

# 「りんご」のキーを「アップル」に変えたい

# 1. 古いキーの値を取り出す
value = fruit_colors.pop("りんご")

# 2. 新しいキーで値をセット
fruit_colors["アップル"] = value

print(fruit_colors)  # {'バナナ': '黄色', 'アップル': '赤'}

pop()は指定したキーの値を取り出し、同時に辞書からそのキーと値のペアを削除するメソッドです。

4. pop()メソッドの基本

4. pop()メソッドの基本
4. pop()メソッドの基本

pop()は辞書から指定したキーの要素を取り出し、削除します。取り出した値は変数に保存できます。

もし指定したキーがなければエラーになるので、キーが存在するか確認してから使うか、デフォルト値を設定することもできます。


colors = {"赤": "#FF0000", "青": "#0000FF"}

# 赤の色コードを取り出して削除
red_code = colors.pop("赤")
print(red_code)  # #FF0000
print(colors)    # {'青': '#0000FF'}

# 存在しないキーをpopするとエラーになるので注意
# green_code = colors.pop("緑")  # KeyError発生

# デフォルト値を使うとエラーを防げる
green_code = colors.pop("緑", "不明")
print(green_code)  # 不明

5. del文を使った辞書の要素削除

5. del文を使った辞書の要素削除
5. del文を使った辞書の要素削除

del文を使うと、辞書から指定したキーと値のペアを削除できます。ただし、delは戻り値を返さないので、値を取得したいときはpop()が便利です。


data = {"a": 1, "b": 2, "c": 3}

# キー "b" を削除
del data["b"]
print(data)  # {'a': 1, 'c': 3}

# 存在しないキーをdelするとエラーになるので注意
# del data["d"]  # KeyError発生

6. キーが存在するか確認する方法

6. キーが存在するか確認する方法
6. キーが存在するか確認する方法

辞書から削除や取り出しを行う前に、キーがあるかどうかをin演算子でチェックすると安全です。


data = {"x": 100, "y": 200}

key = "z"
if key in data:
    value = data.pop(key)
    print(f"{key} の値は {value} です")
else:
    print(f"{key} は辞書に存在しません")

7. 辞書のキーを変更・削除する時の注意点

7. 辞書のキーを変更・削除する時の注意点
7. 辞書のキーを変更・削除する時の注意点
  • 辞書のキーは変更できないので、新しく追加して古いキーを削除する方法を使う
  • pop()は値を取り出しながら削除できるので便利
  • delは単に削除するだけ。値は戻らない
  • 存在しないキーを指定するとエラーになるため、in演算子やpop()のデフォルト値でエラーを防ぐ

8. 知っておくと便利な関連テクニック

8. 知っておくと便利な関連テクニック
8. 知っておくと便利な関連テクニック

辞書の要素を安全に扱うために、get()メソッドもよく使われます。これは指定したキーの値を取得し、存在しない場合はデフォルト値を返します。


data = {"a": 10, "b": 20}

value = data.get("c", 0)  # キー "c" がなければ 0 を返す
print(value)  # 0

こうした方法も覚えると辞書の扱いがもっとラクになります。

まとめ

まとめ
まとめ

Pythonの辞書を扱うとき、キーの変更や削除という操作は初心者が最初につまずきやすい部分でもあります。辞書は「キーと値の組み合わせ」で成り立つ特別なデータ型であり、リストとは異なる性質を持っています。そのため、辞書のキーを直接変更できない理由を理解しておくことは、Pythonのデータ構造を正しく扱ううえで重要な基礎となります。今回の記事では、辞書のキーを変更するための正しい手順、pop()メソッドとdel文の違いや使いどころ、さらに安全に辞書を操作するためのポイントを順を追って確認してきました。

特に、辞書のキーを変更したい場合には「古いキーの値を取り出して、新しいキーで登録し、古いキーを削除する」という方法が必要でした。この流れを理解しておけば、複雑な辞書データを扱うときにも柔軟に対応できます。また、値を取り出しつつ削除できるpop()は、辞書操作で非常に便利な基本メソッドです。一方、単純に削除だけを行いたい場合にはdel文が使えますが、存在しないキーを指定するとエラーになるため、状況に応じて使い分ける必要があります。

さらに、辞書のキーが存在するかどうかを事前に確認するin演算子や、値を安全に取り出すためのget()メソッドもあわせて使えると、エラーの少ない堅牢なコードを書くことができます。このような辞書操作の基礎が身につけば、Pythonで扱うデータの整形、管理、抽出などがスムーズに行えるようになり、実務や学習の場面で大いに役立ちます。

ここでは、記事の内容をさらに深く理解するための追加サンプルを用意しました。辞書のキー変更、削除、安全な値取得といった処理を組み合わせた例です。

辞書操作の理解を深める追加サンプルコード


# 辞書のキーを安全に変更する関数
def rename_key(data, old_key, new_key):
    if old_key in data:
        value = data.pop(old_key)
        data[new_key] = value
    return data

# 辞書から指定キーを安全に削除する関数
def safe_delete(data, key):
    if key in data:
        del data[key]
    return data

# 辞書を使った例
info = {"名前": "たろう", "年齢": 20, "国": "日本"}

# キーを変更する
info = rename_key(info, "名前", "氏名")

# 存在しないキーを削除してもエラーにならない安全な削除
info = safe_delete(info, "住所")

# get()で安全に値を取得
nation = info.get("国", "未設定")

print(info)
print("国:", nation)

{'氏名': 'たろう', '年齢': 20, '国': '日本'}
国: 日本

上記のサンプルでは、辞書のキーを変更する際の基本的な流れと、安全に削除する処理をまとめています。特に辞書を扱う場面が多いデータ分析やWeb開発では、キー名を整える作業や不要な項目を除去することが頻繁にあります。そのため、こうした辞書操作の基本テクニックを理解しておくことは、Pythonを使いこなすための大切なステップになります。

また、辞書は柔軟なデータ構造である一方、キーの存在チェックやエラーハンドリングを怠ると、エラーが発生しやすいという特徴もあります。今回学んだin演算子get()の使い方を知っておくことで、安全で読みやすく、保守性の高いコードを書けるようになります。さらに、辞書そのものは順序を持つデータ構造であり、処理の流れを把握しやすいという利点もあるため、複雑なデータの整理にも適しています。

プログラムで扱う情報は、数値や文字列だけでなく、辞書のように複合的なデータを持つことが多く、キーと値の管理はPythonにおける基礎力のひとつといえます。今回の記事を通して、辞書のキー変更や削除を中心とした操作がどのように行われるのかを体系的に知ることで、より高度なデータ加工や構造化にも挑戦しやすくなるでしょう。

先生と生徒の振り返り会話

生徒

「先生、辞書のキーって自由に変更できると思っていたので、直接書き換えられない理由がわかってとてもスッキリしました!」

先生

「そうですね。仕組みを理解すると、辞書がなぜそのように動くのかが自然と納得できるようになりますよ。」

生徒

「pop()で値を取り出しながら削除できるのは便利ですね。delとの違いもはっきり理解できました!」

先生

「用途に応じて使い分けられるようになると、辞書を扱う場面でミスが減りますし、効率も上がります。」

生徒

「キーが存在するかチェックする方法も覚えたので、エラーを避けながらコードを書けそうです!」

先生

「ええ、その調子です。辞書はPythonでとても大事なデータ構造なので、今回の内容をしっかり活かしていきましょう。」

カテゴリの一覧へ
新着記事
New1
Flask
FlaskでSQLインジェクションを防ぐ方法!初心者でもわかる安全なデータベース操作
New2
Django
Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方
New3
Flask
Flask×Flask-SocketIOでチャットアプリを作る流れを初心者向けにやさしく解説
New4
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.5
Java&Spring記事人気No5
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.6
Java&Spring記事人気No6
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.7
Java&Spring記事人気No7
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.8
Java&Spring記事人気No8
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説