Python 辞書にキーを追加する方法

Pythonの辞書は、データをキーと値のペアで格納するアイテムのコレクションです。

辞書の項目には、そのキーに基づいてアクセスし、操作することができます。

辞書は変更可能であり、新しい項目を追加することができます。

辞書に1つの項目を追加する最も簡単な方法は、辞書のインデックスを新しいキーで参照し、値を代入することである。

たとえば、次のように新しいキーと値のペアを追加する。

snacks['chocolate'] = 5


Pythonでは、辞書に複数の項目を追加することもできます。

このチュートリアルでは、Pythonで辞書にキーを追加する方法について見ていきます。

Pythonの辞書にキーを追加する

既存の辞書に新しいキーと値のペアを追加するには、複数の方法があります。

ここでは、いくつかの一般的な方法について見てみましょう。

キーと値の追加

辞書に値を代入することで、新しいキーを追加することができます。

そのキーがすでに存在する場合は、それが指す値を上書きする。

キーは、以下のように辞書に添え字記法で記述する必要がある。

my_dictionary[new_key] = new_value


このキーと値のペアは、辞書に追加されます。

Python 3.6以降をお使いの場合は、辞書の最後の項目として追加されます。

この方法で辞書を作成し、新しいKey-Valueペアを追加してみましょう。

squares = {1: 1, 2: 4, 3: 9}
squares[4] = 16 # Adding new key-value pair
print(squares)


この結果、次のようになります。

{1: 1, 2: 4, 3: 9, 4: 16}


値のない辞書にキーを追加する

値を指定せずにキーを追加したい場合は、値の代わりに None を指定すればよいでしょう。

squares = {1: 1, 2: 4, 3: 9}
squares['x'] = None # Adding new key without value
print(squares)


この結果は

{1: 1, 2: 4, 3: 9, 'x': None}


update() で複数の Key-Value ペアを追加する

Pythonでは、既存の辞書に複数のKey-Valueペアを追加することができます。

これは update() メソッドを使用することで実現できます。

このメソッドは dict 型の引数、または ((key1, value1),) のような長さが 2 のイテラブルを受け取り、辞書を新しい key-value ペアで更新します。

もしキーがすでに辞書に存在していた場合は、新しい値で上書きされます。

キーは、dictionary.update(new_key=new_value)のように、対応する値とともにこのメソッドへのキーワード引数として渡すこともできます。

注意: これは、辞書に新しいキーと値を追加する方法として、間違いなく最も一般的なものです。

それでは、update() メソッドを使って、複数のキーと値のペアを辞書に追加してみましょう。

rainbow = {'red': 1}


# Update by passing dictionary 
new_key_values_dict = {'orange': 2, 'yellow': 3}
rainbow.update(new_key_values_dict)
print("update by passing dictionary")
print(rainbow)


# Update by passing iterables
new_key_values_itr = (('green',4), ('blue',5))
rainbow.update(new_key_values_itr)
print("update by passing iterables")
print(rainbow)


# Update using keyword arguments
rainbow.update(indigo=6, violet=7)
print("update using keyword arguments")
print(rainbow)


このコードを実行すると、次のような出力が得られます。

update by passing dictionary
{'red': 1, 'orange': 2, 'yellow': 3}
update by passing iterables
{'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5}
update using keyword arguments
{'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7}


Merge 演算子の使用 (Python 3.9+)

Python バージョン 3.9 からは、組み込みの dict クラスに Merge (|) と Update (|=) 演算子が追加されました。

これらは、複数の Key-value ペアを辞書に追加するための非常に便利なメソッドです。

Merge (|) オペレータは、与えられた両方の辞書のキーと値を含む新しい辞書を作成します。

そして、この結果を新しい辞書に代入することができます。

一方、Update(|=) 演算子は、2つ目の辞書のキーと値のペアを最初の辞書に追加します。

つまり、既存の辞書は別の辞書の複数のキー-バリュー ペアで更新されます。

以下は、Merge(|) および Update(|=) オペレータを使用して、新しいキーを辞書に追加する例です。

colors_set1 = {‘red’: 1, 'orange’: 2, 'yellow': 3}
colors_set2 = {'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7}


# Merge operator
rainbow = colors_set1 | colors_set2
print("using merge:", rainbow)


# Update operator
colors_set1 |= colors_set2
print("using update:", colors_set1)


このコードは、Python(3.9+)インタプリタ上で次のような出力を生成します。

using merge: {'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7}
using update: {'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7}


結論

このチュートリアルでは、ディクショナリに新しいキーを追加する方法について学びました。

まず、添え字記法を使用してキーと値のペアを追加しました。

つまり、値を代入することで辞書にキーを追加したのです。

次に、update() メソッドを使用して、複数のキーと値のペアを辞書に追加する方法を学びました。

さらに、辞書型、タプル型、キーワード型の引数を持つ update() メソッドを使用しました。

最後に、Python バージョン 3.9 以降で利用可能な Merge および Update 演算子について調べました。

辞書の update() メソッドは、既存の辞書に新しいキーを追加する最も一般的な方法であることがわかります。

タイトルとURLをコピーしました