辞書の要素の値を変更するまたは新しい要素を追加する

広告
eyecatch

作成済みの辞書はあとからキーを指定して要素の値を変更することができます。また辞書に存在しないキーを指定した場合には、新しい要素を辞書に追加することができます。ここでは辞書の要素を変更する方法または要素を追加する方法について解説します。

辞書の要素の値を変更する

作成済みの辞書の要素の値を変更するには次のようにキーを指定して新しい値を代入します。

辞書[キー] = 値

指定したキーが辞書に存在する場合には、そのキーに対応する値を新しい値に入れ替えます。

具体的には次のように記述します。

mydict = {1:"Movie", 2:"Foods", 3:"Reading"}
mydict[2] = "Sports"
print(mydict)
--> {1: 'Movie', 2: 'Sports', 3: 'Reading'}

指定したキーの対応する値が、新しい値と入れ替わりました。

辞書に新しい要素を追加する

作成済みの辞書に対してキーを指定して値を代入した場合、辞書の中にキーが存在しなかった場合は新しい要素として辞書に追加されます。

辞書[キー] = 値

キーが存在すれば値を入れ替え、キーが存在していなかった場合は キー:値 を新しい要素として辞書に追加します。

具体的には次のように記述します。

mydict = {1:"Movie", 2:"Foods", 3:"Reading"}
mydict[4] = "Sports"
print(mydict)
--> {1: 'Movie', 2: 'Foods', 3: 'Reading', 4: 'Sports'}

サンプルプログラム

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 sample3-1.py という名前で保存します。

mydict = {"w":"Water", "o":"Orange", "t":"Tea"}
print(mydict)

mydict["t"] = "GreenTea"
print(mydict)

mydict["c"] = "Coffee"
print(mydict)

その後で、次のように実行してください。

python sample3-1.py

辞書の要素の値を入れ替えるまたは要素を追加する(1)

キーを指定して、既存の要素の値を変更したり、新しく辞書に追加することができました。

他の辞書のデータを使って辞書の要素の値を更新したり新しい要素を追加する

辞書型で利用可能な update メソッドを使用すると、既存の辞書の要素を update メソッドの引数に指定した辞書を使って更新したり新しい要素を追加したりすることができます。

対象の辞書.update(別の辞書)

別の辞書に含まれる要素の中で、キーが対象の辞書の中に同じものがあった場合、対象の辞書のキーに対する値が別の辞書の方の値で更新されます。また別の辞書に含まれる要素の中で、対象の辞書の中に同じキーが存在しなかった場合、対象の辞書に新しい要素として追加されます。

具体的には次のように記述します。

mydict = {1:"A", 2:"B", 3:"C"}
otherdict = {2:"b", 4:"d"}

mydict.update(otherdict)
print(mydict)
--> {1:"A", 2:"b", 3:"C", 4:"d"}

同じキーの要素については値が更新され、存在していないキーの要素は新しい要素として追加されました。

サンプルプログラム

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 sample3-2.py という名前で保存します。

lunchdict = {"a":"curry", "b":"paster", "c":"udon"}
print(lunchdict)

todaydict = {"b":"ramen", "d":"omelette"}
lunchdict.update(todaydict)
print(lunchdict)

その後で、次のように実行してください。

python sample3-2.py

他の辞書のデータを使って辞書の要素の値を更新したり新しい要素を追加する(1)

update メソッドを使って、他の辞書オブジェクトのデータを使った対象の辞書の要素を更新したり新しい要素を追加したりしました。

-- --

辞書の要素を入れ替えるまたは要素を追加する方法について解説します。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。