カテゴリ: Python 更新日: 2025/10/05

Pythonの辞書から複数のキーを一括で削除する方法!delや辞書内包表記のテクニック

Pythonの辞書から複数のキーを一括で削除する方法!delや辞書内包表記のテクニック
Pythonの辞書から複数のキーを一括で削除する方法!delや辞書内包表記のテクニック

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

生徒

「Pythonで辞書の中から、いくつかのデータだけをまとめて消したいんですけど、どうすればいいですか?」

先生

「辞書から複数のキーを一括で削除したいときは、del文や辞書内包表記という方法が使えますよ。」

生徒

「一つずつ消すのは面倒なので助かります!具体的にどう使うんですか?」

先生

「それでは、基本から応用までやさしく解説していきましょう!」

1. Pythonの辞書とは?

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

辞書(dict)は、名前と電話番号のように「キー」と「値」のペアで情報を管理するデータ型です。たとえば、「名前」がキーで「花子」が値というような形です。

2. del文を使って1つずつキーを削除する

2. del文を使って1つずつキーを削除する
2. del文を使って1つずつキーを削除する

del文は、辞書の中の特定のキーを指定して削除する方法です。


data = {"名前": "太郎", "年齢": 25, "趣味": "読書", "住所": "大阪"}
del data["趣味"]
print(data)

{'名前': '太郎', '年齢': 25, '住所': '大阪'}

この方法では、一度に1つのキーしか削除できません。

3. del文で複数のキーを一括で削除する

3. del文で複数のキーを一括で削除する
3. del文で複数のキーを一括で削除する

複数のキーを削除したいときは、forループを使ってdelを繰り返します。


data = {"名前": "花子", "年齢": 28, "趣味": "映画", "住所": "東京", "職業": "エンジニア"}
削除するキー = ["趣味", "職業"]
for key in 削除するキー:
    if key in data:
        del data[key]
print(data)

{'名前': '花子', '年齢': 28, '住所': '東京'}

if key in data: という条件文を使って、存在するキーだけを削除することで、エラーを防げます。

4. 辞書内包表記を使って一括削除する

4. 辞書内包表記を使って一括削除する
4. 辞書内包表記を使って一括削除する

辞書内包表記(じしょないほうひょうき)とは、条件を指定して新しい辞書を作り直す方法です。必要なデータだけを残すイメージです。


data = {"名前": "一郎", "年齢": 30, "趣味": "音楽", "住所": "名古屋", "職業": "教師"}
削除するキー = ["趣味", "住所"]
data = {k: v for k, v in data.items() if k not in 削除するキー}
print(data)

{'名前': '一郎', '年齢': 30, '職業': '教師'}

この方法では、元の辞書を変更するのではなく、新しく作り直しています。

5. delと辞書内包表記の違いと使い分け

5. delと辞書内包表記の違いと使い分け
5. delと辞書内包表記の違いと使い分け

del文は、元の辞書をそのまま変更します。一方で、辞書内包表記は、新しく辞書を作り直すので元のデータを残しておきたい場合に便利です。

  • 元の辞書を直接変更したいときdel
  • 元の辞書を残したい・条件で抽出したいとき辞書内包表記

6. キーが存在しないときの注意点

6. キーが存在しないときの注意点
6. キーが存在しないときの注意点

delで存在しないキーを削除しようとすると、エラーになります。そのため、削除前にif key in dict:と確認するのが安全です。

辞書内包表記は、指定したキーが存在していない場合でもエラーにならず、自然にスキップされるので安全に使えます。

7. 実用例:不要なデータを削除して整理する

7. 実用例:不要なデータを削除して整理する
7. 実用例:不要なデータを削除して整理する

たとえば、アンケートデータやユーザー情報の中から、使わない項目を削除したいときに役立ちます。


user_info = {
    "名前": "さくら",
    "年齢": 22,
    "性別": "女性",
    "メモ": "このデータは不要",
    "一時的なID": "temp123"
}
削除キー = ["メモ", "一時的なID"]
user_info = {k: v for k, v in user_info.items() if k not in 削除キー}
print(user_info)

{'名前': 'さくら', '年齢': 22, '性別': '女性'}
カテゴリの一覧へ
新着記事
New1
Django
Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方
New2
Flask
Flask×Flask-SocketIOでチャットアプリを作る流れを初心者向けにやさしく解説
New3
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
New4
Flask
Flask-WTFでファイルアップロードフォームを完全ガイド!初心者でもわかる画像やPDFのアップロード方法
人気記事
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
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説
No.8
Java&Spring記事人気No8
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本