Categories: Python

【Python】辞書の要素を変更・追加する方法

この記事では、Python で辞書の要素を変更・追加する方法を解説します。

辞書(マップ)の使い方【dict】

要素の変更・追加: 代入

[] を使って key を指定し value を代入することで要素を変更・追加できます。

辞書[key] = value

指定した key が既に辞書内に存在する場合は、その key の値を代入した value に変更し、存在しない場合は key と value を新しい要素として追加できます。

サンプル

試しに要素の変更と追加をしてみます。

data = {'name': '田中太郎', 'age': 20}

# data内に存在する key を指定して代入
data['name'] = '山田花子'
print(data)

# data内に存在しない key を指定して代入
data['gender'] = '女'
print(data)

実行結果

{'name': '山田花子', 'age': 20}
{'name': '山田花子', 'age': 20, 'gender': '女'}

複数の要素の変更・追加: updateメソッド

update()メソッド の引数に他の辞書を指定することで要素を変更・追加できます。

辞書1.update(辞書2)

引数に指定された辞書の key が 元の辞書に存在する場合に要素は更新され、存在しない場合は要素が追加されます。

サンプル

代入のサンプルと同じ処理を update()メソッド を使って実行しています。

data1 = {'name': '田中太郎', 'age': 20}
data2 = {'name': '山田花子', 'gender': '女'}

data1.update(data2)
print(data1)

実行結果

{'name': '山田花子', 'age': 20, 'gender': '女'}

name は data1 に既に存在したので data2 の値で更新され、gender は data1 に存在しなかったので新しい要素として追加されました。

2つの辞書を1つにする方法【マージ】

デフォルト値の追加: setdefaultメソッド

setdefault()メソッド は 任意の key から value を取得するためのメソッドですが、指定した key が辞書内に存在しない場合、その key と default を要素として追加し、default を返します。

辞書.setdefault(key[, default])

サンプル

試しに要素を追加してみます。

data = {'name': '田中太郎', 'age': 20}

# key が存在する場合
data.setdefault('name', '山田花子')
print(data)

# key が存在しない場合
data.setdefault('gender', '女')
print(data)

実行結果

{'name': '田中太郎', 'age': 20}
{'name': '田中太郎', 'age': 20, 'gender': '女'}
ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

View Comments

Recent Posts

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

7か月 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

7か月 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

7か月 ago

【Unity】割合から数値に数値から割合に変換する

この記事では、割合から数値に変換する関数…

7か月 ago

【Python】抽象クラスを定義する方法

この記事では、Pythonで抽象クラスを…

7か月 ago