【Python】dictに追加する方法/dict同士を結合する方法
今回はPythonのdict(辞書)の使い方を紹介します。
dictに要素を追加する方法をお見せしますのでご覧ください。
この記事では↓の内容が分かります。
- dictに追加する方法
- dictに追加する方法(上書きしない)
- dictにdictを追加する方法(updateメソッド)
dictに追加する方法
dict = {} # 空の辞書を作成
# 要素を追加
dict['key1'] = 'value1'
dict['key2'] = 'value2'
print(dict) # {'key1': 'value1', 'key2': 'value2'}
dictへの要素の追加はこのように行います。
サンプルコードでは上記の例では、’key1’というキーと’value1’という値のペアと、’key2’というキーと’value2’という値のペアを追加しています。
dict['キー'] = 値
要素の追加はこのような形式となります。
このやり方には1つ注意点があり、もし同じキーを使用して要素を追加すると、古い値は上書きされます。
dict = {} # 空の辞書を作成
# 要素を追加
dict['key1'] = 'value1'
dict['key2'] = 'value2'
# 要素を追加(上書き)
dict['key1'] = 'value11'
print(dict) # {'key1': 'value11', 'key2': 'value2'}
例えば、このようなコードを書くとkey1の値が上書きされます。
dictに追加する方法(上書きしない)
先ほどの方法でdictに要素を追加できるのですが、すでにkeyが存在している場合は内容を上書きしてしまいます。
すでにkeyが存在しているときに上書きしたくないときはsetdefaultメソッドを使います。
dict = {} # 空の辞書を作成
# 要素を追加
dict['key1'] = 'value1'
dict['key2'] = 'value2'
# 要素を追加(上書きしない)
dict.setdefault('key1', 'value11')
dict.setdefault('key3', 'value3')
print(dict) # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
setdefaultメソッドは、辞書内にキーが存在しない場合にのみ要素を追加します。
上記の例では、setdefaultメソッドを使用して’key1’と’key3’のキーを持つ要素を追加しようとしています。
key1の要素はすでに存在するので上書きされず、key3の要素のみが追加されています。
このように上書きしたくないときはsetdefaultメソッドを使いましょう。
dictにdictを追加する方法(updateメソッド)
Pythonではdictに別のdictの内容を追加することができます。
dict1 = {'key1' : 'value1', 'key2' : 'value2'} # 辞書を作成
dict2 = {'key3' : 'value3', 'key4' : 'value4'} # 辞書を作成
# dict1にdict2を追加
dict1.update(dict2)
print(dict1) # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4'}
サンプルコードのように別のdictの要素を追加することが可能です。
dict1 = {'key1' : 'value1', 'key2' : 'value2'} # 辞書を作成
dict2 = {'key1' : 'value11', 'key4' : 'value4'} # 辞書を作成
# dict1にdict2を追加
dict1.update(dict2)
print(dict1) # {'key1': 'value11', 'key2': 'value2', 'key4': 'value4'}
updateメソッドは、もし同じキーが存在すると古い値は上書きされます。
上書きしたくない、という場合はupdateメソッドは使わずsetdefaultメソッドとfor文を組み合わせて1つずつ要素を追加する必要があります。