はじめてのPython!updateメソッドで辞書同士を結合する方法

辞書型はキーと値を定義できる便利なオブジェクトですが、場合によっては辞書型のオブジェクト同士を結合したい場合もあります。

「辞書型同士を結合する方法が知りたい」

ここでは、辞書型同士を結合するupdateメソッドについて、以下の内容を解説していきます。


【基礎】辞書型(dictionary)について
【基礎】updateメソッドとは
【基礎】updateメソッドの使い方
【発展】updateメソッドの注意点

updateメソッドについてわかりやすく解説していますので、ぜひ参考にしてください。

辞書型(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メソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。