ロゴ

プログラミング初心者がアプリ開発を目指すブログ

【Python入門】Python Dictionaryの操作 – Python初心者勉強記007

今回もPython Dictionaryを見ていきましょう。

Dictionaryの更新

辞書[キー] = 値
とすることで指定したキーに対応する値を更新します。もしキーが存在しない場合は新たに要素を作成します。

.update(辞書)
.update(キー=値, …)
.update([(キー, 値), …])
.update({キー: 値, …})
とすることで、
辞書のなかに辞書を取り込むことができます。
このとき既にあるキーは新しい値に置き換えられ、存在しないキーは新たに作成されます。


>>> x={'a' : 3, 'b' : 5}
>>> x['a']=7
>>> x
{'a': 7, 'b': 5}
>>> y={'a' : 10 , 'c' : 12}
>>> x.update(y)
>>> x
{'a': 10, 'c': 12, 'b': 5}
>>> y
{'a': 10, 'c': 12}

Dictionaryの削除

del 辞書[キー]
とすることでキーを指定して削除することができます。


>>> x={'a' : 3, 'b' : 5}
>>> del x['a']
>>> x
{'b': 5}

popメソッドを使うことで指定されたキーの値を取り出して、辞書から削除することができます。
.pop(キー, デフォルト)
存在しないキーを指定した場合はエラーが発生しますが、デフォルト値を指定した場合は例外が発生せずに、デフォルト値が返ってきます。


>>> x={'a' : 3, 'b' : 5}
>>> x.pop('a')
3
>>> x
{'b': 5}
>>> x.pop('c')
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'c'
>>> x.pop('c',10)
10
>>> x
{'b': 5}

.popitem()
でDictionaryが空になるまでキーと値のペアをタプルとして取り出しながら削除していきます。


>>> x={'a' : 3, 'b' : 5, 'c' : 7}
>>> x.popitem()
('a', 3)
>>> x
{'c': 7, 'b': 5}
>>> x.popitem()
('c', 7)
>>> x
{'b': 5}
>>> x.popitem()
('b', 5)
>>> x
{}
>>> x.popitem()
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'popitem(): dictionary is empty'
>>> 

Dictionaryのコピー

Dictionaryもリストと同様に浅いコピーと深いコピーの使い分けが必要になります。

・浅いコピー
浅いコピーには.copyもしくはdictを使います。


>>> x={'a' : 3, 'b' : 5, 'country' : ['Japan', 'US']}
>>> y=x.copy()
>>> y['a']=10
>>> x
{'a': 3, 'country': ['Japan', 'US'], 'b': 5}
>>> y['country'].append('UK')
>>> x
{'a': 3, 'country': ['Japan', 'US', 'UK'], 'b': 5}

・深いコピー
深いコピーはcopyモジュールのdeepcopyを使用します。
copy.deepcopy()


>>> import copy
>>> x={'a' : 3, 'b' : 5, 'country' : ['Japan', 'US']}
>>> y=copy.deepcopy(x)
>>> y
{'a': 3, 'country': ['Japan', 'US'], 'b': 5}
>>> y['country'].append('UK')
>>> x
{'a': 3, 'country': ['Japan', 'US'], 'b': 5}

Dictionaryの比較

Dictionaryの比較は以下の通りです。

等価比較 (==,!=) : キーと値全ての同一性を比較
大小比較 (>=,>,<=,<) : キーの数を比較 is比較 (is) : オブジェクトそのものの同一性を比較
以上で辞書の操作は終了です。

次回からはタプルを見ていきましょう。

Python入門講座の次の記事はこちら => 【Python入門】Python Tuple(タプル)の操作 – Python初心者勉強記008

スポンサード リンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA