辞書型はキーと値を定義できる便利なオブジェクトですが、場合によっては辞書型のオブジェクト同士を結合したい場合もあります。
「辞書型同士を結合する方法が知りたい」
ここでは、辞書型同士を結合するupdateメソッドについて、以下の内容を解説していきます。
【基礎】辞書型(dictionary)について
【基礎】updateメソッドとは
【基礎】updateメソッドの使い方
【発展】updateメソッドの注意点
updateメソッドについてわかりやすく解説していますので、ぜひ参考にしてください。
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
辞書型(dictionary)について
updateメソッドの説明に入る前に辞書型(dictionary)についておさらいしておきましょう。
辞書型とは{}の中にKeyとKeyに紐づくvaluseの組み合わせが含まれているオブジェクトのことを指します。
辞書型を構成するには、以下のようにkeyとvalueをコロンで区切ったペアとなっています。
dict = {'key1':'value1', 'key2':'value2', 'key3':'value3'} print(dict) # {'key1':'value1', 'key2':'value2', 'key3':'value3'}
辞書型については以下の記事で詳しく解説していますので、参考にしてください。
そんな辞書型で使える便利なメソッドであるupdateについて、次項より詳しく解説していきます!
updateメソッドとは
updateメソッドは辞書型のオブジェクトに別の辞書型のオブジェクトを結合したいときに使用します。
書き方:
辞書オブジェクト.update(結合する辞書オブジェクト)
結合したい辞書オブジェクトに対してupdateメソッドを指定します。
updateメソッドの引数には結合させたい辞書オブジェクトを指定します。
updateメソッドの引数には複数の辞書オブジェクトを指定することはできません。
updateメソッドの使い方
では実際にupdateメソッドの使い方を見ていきましょう。
以下のサンプルをご覧ください。
# 辞書1を作成 dict1 = {'apple':'100円', 'orange':'80円', 'melon':'700円'} # 辞書2を作成 dict2 = {'pineapple':'450円', 'strawberry':'500円'} # 辞書1に辞書2の内容を結合する dict1.update(dict2) print(dict1)
実行結果:
{‘pineapple’: ‘450円’, ‘apple’: ‘100円’, ‘strawberry’: ‘500円’, ‘orange’: ‘80円’, ‘melon’: ‘700円’}
このように辞書オブジェクト同士が結合できることがわかりますね!
なお、updateメソッドは辞書同士の結合のみ可能です。
そのため、以下のようにリストを結合しようとしても、エラーが発生しますのでupdateは辞書同士のみで行うようにしましょう。
# 辞書を作成 dict1 = {'apple':'100円', 'orange':'80円', 'melon':'700円'} # リストを作成 list1 = ['pineapple', 'strawberry'] # 辞書にリストの内容を結合する dict1.update(list1) print(dict1)
実行結果:
〜 ValueError: dictionary update sequence element #0 has length 9; 2 is required
updateメソッドの注意点
辞書同士を結合できるupdateメソッドですが、注意点もあります。
updateメソッドで引数に指定した辞書オブジェクトと対象の辞書オブジェクトに同じKeyがあった場合、引数で指定した辞書のKeyとValueの内容を上書きしてしまうので注意しましょう。
# 辞書を作成 dict1 = {'apple':'100円', 'orange':'80円', 'melon':'700円'} # 辞書2を作成 dict2 = {'pineapple':'450円', 'orange':'500円'} # 辞書1に辞書2の内容を結合する dict1.update(dict2) print(dict1)
実行結果:
{'orange': '500円', 'apple': '100円', 'pineapple': '450円', 'melon': '700円'}
このように引数で指定したオブジェクトに存在するorangeのKeyと値が上書きされていることがわかりますね。
まとめ
ここでは、辞書オブジェクト同士を結合するupdateメソッドについて、以下の内容で解説しました。
- 辞書型(dictionary)について
- updateメソッドとは
- updateメソッドの使い方
- updateメソッドの注意点
updateメソッドは辞書同士を結合するのに非常に便利ですので、使い方についてはよく理解しておきましょう。
もし、updateメソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!