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