Python辞書を簡単に追加・更新する方法

0 株式
0
0
0
0

導入

辞書はPythonの組み込みデータ型です。キーと値のペアのシーケンスで、各キーは一意で、値にマッピングされます。辞書は可変オブジェクトであるため、内容を変更してもキーのIDは変わりません。一方、辞書のキーは不変であり、各辞書内で一意である必要があります。そのため、辞書は検索、挿入、削除を非常に効率的に行うことができます。.

Pythonでは、辞書は出現回数のカウント、データのグループ化、設定の保存など、様々な用途で広く使用されています。その汎用性にもかかわらず、辞書には組み込みのappendメソッドがありません。代わりに、辞書に追加したり更新したりする方法はいくつかあり、それぞれに独自の用途と利点があります。.

この記事では、Pythonの辞書を追加および更新する様々な方法を学びます。Pythonの代入演算子、update()メソッド、そして辞書のマージ演算子と更新演算子の使い方を学びます。このチュートリアルを終える頃には、Pythonプログラムで辞書を効果的に管理・操作する方法をしっかりと理解できるようになります。.

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

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

dict[key] = value

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

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

dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add 
print("updated dictionary: ", dict_example)

出力は次のようになります。

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

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

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

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

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

dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add 
print("updated dictionary: ", dict_example)
# add the following if statements
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)
# update the dictionary with the author key-value pair
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)
# create a new dictionary
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
# update the original dictionary with the new dictionary
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'}

出力を見ると、最初の更新で新しいキーと値のペアが追加され、2番目の更新でゲスト辞書からサイト辞書にキーと値のペアが追加されていることがわかります。辞書の更新に既存のキーが含まれている場合、古い値は更新によって上書きされることに注意してください。.

Merge | 演算子を使用して 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 つの辞書は、両方の辞書のキーと値のペアを含む新しい辞書オブジェクトに統合されました。.

両方の辞書にキーが存在する場合、値は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 の値で上書きされました。.

update |= 演算子を使用して Python 辞書に追加する

パイプと等号文字で表される辞書更新演算子 |= を使用して、指定された辞書または値で辞書をその場で更新できます。.

マージ | 演算子と同様に、両方の辞書にキーが存在する場合、更新演算子 |= は右側のオペランドから値を取得します。.

次の例は、2 つの辞書を作成し、更新演算子を使用して 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つ目の辞書オブジェクトを作成する必要はありませんでした。出力を見ると、ゲスト辞書がサイトのメイン辞書に追加されていることがわかります。.

結果

この記事では、さまざまな方法を使用して Python 辞書を追加および更新しました。.

コメント1件
コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

あなたも気に入るかもしれない