定義方法
>>> a = {'a':1,'b':2} >>> a {'b': 2, 'a': 1} >>> a['c'] = 3 >>> a {'b': 2, 'a': 1, 'c': 3} >>>
キーの存在チェック
>>> a {'b': 2, 'a': 1, 'c': 3} >>> 'a' in a True >>> 'd' in a False >>>
インデックスアクセス時に存在しない場合にデフォルト値を返す
>>> a {'b': 2, 'a': 1, 'c': 3} >>> a['d'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'd' >>> a.get('d') >>> a.get('d','hoge') 'hoge' >>>
getメソッドは引数でデフォルト値を設定できる。引数がない場合は、Noneを返す。
イテレーションアクセス
キーにアクセスする場合
>>> a {'b': 2, 'a': 1, 'c': 3} >>> for k in a: ... print(k) ... b a c >>>
値にアクセスする場合
>>> a {'b': 2, 'a': 1, 'c': 3} >>> for v in a.values(): ... print(v) ... 2 1 3 >>>
両方にアクセスする場合
>>> a {'b': 2, 'a': 1, 'c': 3} >>> for k,v in a.items(): ... print(k,v) ... b 2 a 1 c 3 >>>
データの追加と削除
追加
>>> a {'b': 2, 'a': 1, 'c': 3} >>> a['d'] = 4 >>> a {'b': 2, 'a': 1, 'd': 4, 'c': 3} >>>
定義時と同じ
削除
>>> a {'b': 2, 'a': 1, 'd': 4, 'c': 3} >>> del a['a'] >>> a {'b': 2, 'd': 4, 'c': 3} >>> a.pop('b') 2 >>> a {'d': 4, 'c': 3} >>>
delとpopの違いは、popの場合は値を返す点
存在しないキーを指定してアクセスするとKeyErrorが発生する。
popを使うとKeyErrorは発生させないことが可能。
>>> a {'d': 4, 'c': 3} >>> del a['a'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'a' >>> a.pop('a') Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'a' >>> a.pop('a', 'hoge') 'hoge' >>> a {'d': 4, 'c': 3} >>>