05-Python

Python(Part.37)| python【辞書(利用編-2)】

python| まとめ | 現役エンジニア&プログラミングスクール講師「python」のまとめページです。pythonに関して抑えておきたい知識や文法やにについて記事をまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中...

目標

「インデックス式」を利用した「辞書」の要素の追加方法を理解する。
「setdefaultメソッド」を利用した「辞書」の要素の追加方法を理解する。
「updateメソッド」を利用した「辞書」の要素の追加・更新方法を理解する。

「辞書」の要素の追加

「辞書」の要素の追加方法

「辞書」の要素を追加する方法には「インデックス式」を利用する方法と「setdefault メソッド」「updataメソッド」を利用する方法があります。

「インデックス式」を利用した要素の追加方法

「インデックス式」を利用して要素を追加する場合は「辞書名[キー名] = 値」のように記述します。

サンプルプログラム

vegetables = {
    'tomato'  :[150, 50],
    'onion'   :[100, 45],
    'cucumber':[45, 34],
    'carrot'  :['null','null'],
    'eggplant':[98, 67],
    'potato'  :[68, 101]
    }

# 「辞書名[キー名] = 値」として新しい要素を追加。
vegetables['cabbage' ] = [135, 47]
# 新しい要素を追加後の辞書の表示
print(vegetables)

実行結果(キー’cabbage’、値[135, 47]の新しい要素が追加されます。)

インデックス式を利用する場合、既に存在しているキーを利用すると、値の更新(変更処理)となります。

サンプルプログラム(辞書作成時に「’cabbage’ :[0, 0]」を追加し、その後、インデックス式を利用して’cabbage’の値を変更しています。)

vegetables = {
    'tomato'  :[150, 50],
    'onion'   :[100, 45],
    'cucumber':[45, 34],
    'carrot'  :['null','null'],
    'eggplant':[98, 67],
    'potato'  :[68, 101],
    'cabbage' :[0, 0]
    }

# 現在の辞書の表示
print(vegetables)
# 「辞書名[既存のキー名] = 値」とすると、既存のキーがペアとする値が変更されます 。
vegetables['cabbage' ] = [135, 47]
# 新しい要素を追加後の辞書の表示
print(vegetables)

実行結果(’cabbage’の値が変更されます。)

「setdefault メソッド」を利用した値の追加方法

インデックス式を利用した値の追加方法では意図せずに要素の書き換えが行われることがあります。これに対してsetdefault メソッドを利用すると「既に存在するキー(key)」が利用された場合は、要素の更新を行わず、「存在しないキー(key)」が利用された場合のみ要素の追加が行えます。

サンプルプログラム

vegetables = {
    'tomato'  :[150, 50],
    'onion'   :[100, 45],
    'cucumber':[45, 34],
    'carrot'  :['null','null'],
    'eggplant':[98, 67],
    'potato'  :[68, 101],
    'cabbage' :[0, 0]
    }

# 現在の辞書の表示
print(vegetables)
# 「辞書名.setdefault(キー名, 値)」として新しい要素を追加する場合、
# キーが既に存在する場合は処理されません。
vegetables.setdefault('cabbage',[135, 47])
# 新しい要素を追加後の辞書の表示
print(vegetables)

実行結果

キーが存在しない場合は、新規の要素として辞書に追加されます。

vegetables = {
    'tomato'  :[150, 50],
    'onion'   :[100, 45],
    'cucumber':[45, 34],
    'carrot'  :['null','null'],
    'eggplant':[98, 67],
    'potato'  :[68, 101],
    'cabbage' :[0, 0]
    }

# 現在の辞書の表示
print(vegetables)
# 「辞書名[キー名] = 値」として新しい要素を追加。
vegetables.setdefault('broccoli',[160, 42])
# 新しい要素を追加後の辞書の表示
print(vegetables)

実行結果

「update メソッド」を利用した辞書の値の追加・更新方法

辞書の要素の更新は「インデックス式」で行えることを確認しましたが、より簡単に行う方法として「update メソッド」の利用があります。「update メソッド」を利用すると、「要素の追加」、「複数要素の追加」、「複数の値の同時更新」などが行えます。

「update メソッド」の利用方法(1)

vegetables = {
    'tomato'  :[150, 50],
    'onion'   :[100, 45],
    }

# 最初の辞書の表示
print('最初の辞書')
print(vegetables, end='\n\n')

vegetables.update(cucumber = [0, 0])

# 「cucumber」の要素を追加後の辞書
print('「cucumber」の要素を追加後の辞書')
print(vegetables, end='\n\n')

vegetables.update(carrot = [0, 0],
                  eggplant = [0, 0],
                  potato = [0, 0]
                  )

# 更に3要素を追加した辞書
print('更に3要素を追加した辞書')
print(vegetables, end='\n\n')

vegetables.update(cucumber = [45, 34],
                  carrot = ['null','null'],
                  eggplant = [98, 67],
                  potato = [68, 101]
                  )

# 要素の値を変更した後の辞書
print('複数要素の値を変更した後の辞書')
print(vegetables)

実行結果

「update メソッド」の利用方法(2)

「updataメソッド」を利用すると辞書に対して別の辞書の要素を追加することができます。この場合、「辞書.update(別の辞書)」のように記述します。

サンプルプログラム

vegetables = {
    'tomato'  :[150, 50],
    'onion'   :[100, 45],
    'cucumber':[45, 34],
    }

another_vegetables = {
    'carrot'  :['null','null'],
    'eggplant': [98, 67],
    'potato'  :[68, 101]
    }

# 最初の辞書の表示
print('最初の辞書')
print(vegetables, end='\n\n')

vegetables.update(another_vegetables)

# 別の辞書の各要素を追加した後の辞書
print('複数要素の値を変更した後の辞書')
print(vegetables)

実行結果

今回は以上になります。

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師「python」の学習でお勧めしたい書籍をご紹介しています。お勧めする理由としては、考え方、イメージなどを適切に捉えていること、「生のpython」に焦点をあてて解説をしている書籍であることなどが理由です。勿論、この他にも良い書籍はありますが、特に質の高かったものを選んで記事にしています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST