Python

Pythonの辞書(dict)に要素を追加・削除・連結する方法

辞書(dict)の要素操作(追加・削除・連結)

Pythonの辞書(dict)に対して、

  • 要素(キー key、値 value のペア)を追加
  • 任意の要素(キー key、値 value のペア)、または全要素を削除
  • 別の辞書(dict)を連結・統合

の方法についてまとめています。

 

辞書に要素を追加する①(dic[key]=value)

辞書に要素を追加する最も一般的な方法です。

 Python言語の構文
dic[key] = value

挙動ポイント

  • 追加したい要素のキー key が辞書にない場合は、新たに追加
  • 追加したい要素のキー key が既に存在してる場合は、値 value を更新
SANACHAN
SANACHAN
具体的な例で見ていきましょう。

 

追加したい要素のキー key が辞書にない場合

 

追加したい要素のキー key が既に存在している場合

 

辞書に要素を追加する②(setdefault())

辞書に要素を追加する場合、dic[key]=value とは別に setdefault() を使う方法があります。
既にキー key が存在していた場合の挙動が異なります。

 Python言語の構文
dic.setdefault(key, value)

挙動ポイント

  • 追加したい要素のキー key が辞書にない場合は、新たに追加
  • 追加したい要素のキー key が既に存在してる場合は、何もしない
SANACHAN
SANACHAN
具体的な例で見てみましょう。

 

追加したい要素のキー key が辞書にない場合

SANACHAN
SANACHAN
キー key が辞書にない場合の挙動は、dic[key]=value と同じです。

 

追加したい要素のキー key が既に存在している場合

ポイント

既にキー key が存在している場合は、何もしません。(更新されない)

 

辞書の任意の要素を削除する(pop(), popitem(), del)

Pythonの辞書から、任意の要素を削除する方法は3つあります。
pop()、popitem()、del の3つです。

 Python言語の構文①
dic.pop(key, [default])

pop() の挙動ポイント

  • pop(key, [default]) は、指定したキー key が辞書に存在する場合は、その要素を辞書から削除
  • キー key が存在しない場合は、default が返る
  • 引数 default を設定していない場合は、KeyError の例外が発生

 

 Python言語の構文②
dic.popitem()

popitem() の挙動ポイント

  • popitem() は、任意の key:value のペアを LIFO(後入れ先出し)の順番で辞書から削除
  • 辞書が空の場合は、KeyError の例外が発生

 

 Python言語の構文③
del dic[key]

del の挙動ポイント

  • del は、指定したキー key が辞書に存在する場合は、その要素を辞書から削除
  • キー key が存在しない場合は、KeyError の例外が発生
SANACHAN
SANACHAN
それでは、具体的な例を見てみましょう。

 

pop(key, [default]) による削除

 

popitem() による削除

 

del による削除

 

辞書の全要素を削除する(clear())

dict オブジェクトの clear() メソッドを使って、辞書の全ての項目を削除できます。

SANACHAN
SANACHAN
空の辞書に clear() を実行しても、例外は発生しません。

 

別の辞書を連結・統合する(update())

辞書同士を連結・統合する場合は、以下のように update() メソッドを使います。

 Python言語の構文
dic.update([other_dict])

update の挙動ポイント

  • update() は、呼び出した元の辞書に別の辞書を連結
  • 既にキー key が存在している要素は、値 value が上書きされる
SANACHAN
SANACHAN
具体的な例を見てみましょう。

 

SANACHAN
SANACHAN
キー key が重複している場合(例:python)は、値が上書きされていますね。

 

おわりに

Python における辞書(dict)にデータを追加、削除、連結についてまとめました。

  • 追加:dic[key]=value、または setdefault(key, value)
  • 削除:pop(key)、popitem()、del 文、または clear()
  • 連結:dic.update(other_dict)

 

Python の辞書をイテレーティブに処理する方法は、以下を参考にどうぞ。

こちらもCHECK

辞書
Pythonの辞書(dict)のforループ処理と注意点

Pythonの辞書(dict)の要素をfor文でループ処理する場合は、dictオブジェクトのkeys()、values()、items()メソッドを使います。list()やtupleと組み合わせると、様々なイテレーティブ処理が可能。サンプルを交えて解説します。

続きを見る

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-Python
-,