このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【Python】dictに追加する方法/dict同士を結合する方法

2024年4月11日

今回は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つずつ要素を追加する必要があります。

Python

Posted by やろまい