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

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

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

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

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

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

なお、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について、次項より詳しく解説していきます!


【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

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

【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

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

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

Writer

侍テック編集部

株式会社SAMURAI

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close