Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの辞書(dict)updateメソッドの使い方を徹底解説

はじめに

Pythonの辞書(dict)型が持つupdate()メソッドは、既存の辞書を効率的に更新・拡張できる便利なメソッドです。この記事では、update()メソッドの基本的な使い方と動作を、具体的なサンプルコードとともにわかりやすく解説します。

update()メソッドの2つの役割

update()メソッドには、主に次の2つの役割があります。

  • 辞書に存在しないキーを指定した場合:新しいキーと値のペアを追加する
  • 辞書にすでに存在するキーを指定した場合:そのキーの値を上書き(更新)する

新しいキーと値のペアを追加する

まず、次のような辞書を用意します。

>>> d1 = {'name': 'Ravi', 'age': 25, 'marks': 60}

update()メソッドの引数として、別の辞書オブジェクトを渡します。

d1.update({"course": "Computer Engg"})

実行後の辞書を確認すると、新しいキー「course」とその値が追加されていることがわかります。

>>> d1
{'name': 'Ravi', 'age': 25, 'marks': 60, 'course': 'Computer Engg'}

既存のキーの値を更新する

一方、すでに存在するキーを指定した場合は、その値が新しい値で上書きされます。例として、「age」キーの値を21に変更してみましょう。

>>> d1.update({"age": 21})
>>> d1
{'name': 'Ravi', 'age': 21, 'marks': 60, 'course': 'Computer Engg'}

このように、update()メソッドは「要素の追加」と「既存値の更新」を1つの操作で柔軟に行えるのが大きな特徴です。

補足:キーワード引数でも指定できる

update()メソッドは、辞書オブジェクトだけでなく、キーワード引数を使って呼び出すことも可能です。

>>> d1.update(city="Tokyo")
>>> d1
{'name': 'Ravi', 'age': 21, 'marks': 60, 'course': 'Computer Engg', 'city': 'Tokyo'}

また、Python 3.9以降では「|」演算子による辞書のマージも利用できますが、既存の辞書をその場で更新したい場合には、update()メソッドが最もシンプルで一般的な方法です。

まとめ

update()メソッドを使えば、辞書への要素追加と既存値の更新を簡単かつ直感的に行えます。引数には別の辞書やキーワード引数を渡せるため、状況に応じて使い分けることで、より読みやすく保守性の高いコードを書くことができます。

  1. Pythonの__init__.pyとは?役割と基本的な使い方をわかりやすく解説

    __init__.pyファイルの役割とはPythonにおいて、__init__.pyファイルは、ディレクトリを「パッケージ」として認識させるために必要なファイルです。このファイルが存在することで、Pythonはそのディレクトリをひとつのパッケージとして扱うことができるようになります。この仕組みには重要な目的があります。それは、stringのような一般的な名前を持つディレクトリが、モジュール検索パス上の後続にある正規のモジュールを意図せず隠してしまう(シャドーイングする)ことを防ぐためです。__init__.pyの中身は空でもOK最もシンプルなケースでは、__init__.pyは単なる空のファイ

  2. Pythonのzfill()メソッドとは?文字列の先頭をゼロ埋めする方法を解説

    Pythonのzfill()メソッドとはPythonのzfill()メソッドは、文字列の左側(先頭)をゼロ「0」で埋めるための組み込みメソッドです。桁数を揃えたい場合や、ID・日付・数値コードなどを一定のフォーマットに整形したいときに非常に便利です。基本的な使い方は以下のとおりです。引数には最終的な文字列の長さ(幅)を指定します。>>> 25.zfill(6) 000025この例では、元の文字列「25」が2文字なので、指定した幅6になるまで先頭にゼロが4つ追加され、「000025」という結果が得られます。zfill()メソッドのポイント引数に指定した幅より元の文字列が短い場合