Pythonで辞書に追加する方法

紹介

辞書は組み込みのPythonデータ型です。辞書はキーと値のペアのシーケンスです。辞書は可変オブジェクトですが、辞書のキーは不変であり、各辞書内で一意である必要があります。組み込みの追加メソッドはありませんが、辞書に追加および更新する方法はいくつかあります。この記事では、Pythonの代入演算子、update()メソッド、およびマージおよび更新辞書演算子を使用して、Pythonの辞書に追加および更新する方法を説明します。

DigitalOcean App Platformを使用してGitHubからPythonアプリケーションをデプロイします。DigitalOceanにアプリのスケーリングに集中させてください。

Python辞書に追加する4つの方法

  1. 代入演算子を使用する
  2. 更新メソッドを使用する
  3. マージ演算子の使用
  4. 更新演算子の使用

=代入演算子を使用してPython辞書に追加

辞書に新しいキーを追加するには、=代入演算子を使用できます:

dict[key] = value

辞書にキーがすでに存在する場合、代入演算子が値を更新または上書きします。

次の例は、新しい辞書を作成し、その後、代入演算子=を使用して値を更新し、キーと値のペアを追加する方法を示しています:

dict_example = {'a': 1, 'b': 2}

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # 既存のキー、上書き
dict_example['c'] = 3  # 新しいキー、追加
dict_example['d'] = 4  # 新しいキー、追加 

print("updated dictionary: ", dict_example)

出力は次のとおりです:

Output
original dictionary: {'a': 1, 'b': 2} updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}

出力では、aの値が新しい値で上書きされ、bの値は変更されず、cdのために新しいキーと値のペアが追加されていることが示されています。

値を上書きせずにPython辞書に追加する

=代入演算子を使用すると、既存のキーの値が新しい値で上書きされます。プログラムに重複するキーがある可能性があるが、元の値を上書きしたくない場合は、if文を使用して条件付きで値を追加できます。

前のセクションの例を引き続き使用すると、if文を使用して新しいキーと値のペアのみを辞書に追加できます。

dict_example = {'a': 1, 'b': 2}

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # 既存のキー、上書き
dict_example['c'] = 3  # 新しいキー、追加
dict_example['d'] = 4  # 新しいキー、追加 

print("updated dictionary: ", dict_example)

# 以下のif文を追加

if 'c' not in dict_example.keys():
    dict_example['c'] = 300

if 'e' not in dict_example.keys():
    dict_example['e'] = 5

print("conditionally updated dictionary: ", dict_example)

出力は次のとおりです:

Output
original dictionary: {'a': 1, 'b': 2} updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4} conditionally updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

出力には、if条件のため、辞書が条件付きで更新されたときにcの値が変更されなかったことが示されています。

update()メソッドを使用してPython辞書に追加する

update()メソッドを使用して、辞書に辞書またはキーと値のペアの反復可能オブジェクトを追加することができます。 update()メソッドは既存のキーの値を新しい値で上書きします。

以下の例は、新しい辞書を作成し、update()メソッドを使用して新しいキーと値のペアと新しい辞書を追加し、各結果を表示する方法を示しています:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary'}
print("original dictionary: ", site)

# 辞書に著者のキーと値のペアを追加する
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)

# 新しい辞書を作成する
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

# 元の辞書に新しい辞書を追加する
site.update(guests)
print("updated with new dictionary: ", site)

出力は:

Output
original dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary'} updated with Author: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark'} updated with new dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

出力は、最初のupdateで新しいキーと値のペアが追加され、2番目のupdateでguest辞書のキーと値のペアがsite辞書に追加されることを示しています。辞書への更新に既存のキーが含まれている場合、古い値は更新によって上書きされることに注意してください。

マージ演算子|を使用してPythonの辞書に追加する

辞書のマージ演算子|を使用して、2つの辞書をマージし、新しい辞書オブジェクトを返すことができます。

次の例は、2つの辞書を作成し、マージ演算子を使用して両方のキーと値のペアを含む新しい辞書を作成する方法を示しています。

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}

guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

new_site = site | guests

print("site: ", site)
print("guests: ", guests)
print("new_site: ", new_site)

出力は次の通りです:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy'} guests: {'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'} new_site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

2つの辞書がマージされ、両方の辞書からキーと値のペアを含む新しい辞書オブジェクトが作成されました。

両方の辞書にキーが存在する場合、右の辞書または右オペランドの値が採用されます。次の例のコードでは、両方の辞書にbというキーがあります:

dict1 = {'a':'one', 'b':'two'}
dict2 = {'b':'letter two', 'c':'letter three'}

dict3 = dict1 | dict2

print{"dict3: ", dict3}

出力は次の通りです:

Output
dict3: {'a': 'one', 'b': 'letter two', 'c': 'letter three'}

bキーの値は、右オペランドであるdict2からの値で上書きされました。

アップデート |= 演算子を使用して Python 辞書に追加する

辞書のアップデート |= 演算子、つまりパイプと等号の文字を使用して、与えられた辞書または値で辞書をインプレースで更新できます。

マージ | 演算子と同様に、両方の辞書にキーが存在する場合、アップデート |= 演算子は右オペランドから値を取ります。

次の例は、2つの辞書を作成し、アップデート演算子を使用して第二の辞書を第一の辞書に追加し、その後、更新された辞書を印刷する方法を示しています:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}

guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

site |= guests

print("site: ", site)

出力は:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

前の例では、元のオブジェクトを変更するため、3番目の辞書オブジェクトを作成する必要はありませんでした。出力は、guests辞書が元のsite辞書に追加されたことを示しています。

結論

この記事では、Pythonの辞書に追加および更新するための異なるメソッドを使用しました。さらにPythonチュートリアルで学習を続けてください。

Source:
https://www.digitalocean.com/community/tutorials/python-add-to-dictionary