この記事では、Python で辞書の要素を変更・追加する方法を解説します。
スポンサーリンク
要素の変更・追加: 代入
[]
を使って 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 に存在しなかったので新しい要素として追加されました。
デフォルト値の追加: 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': '女'}