辞書の作成
{}で括ったリテラル文字列で作成
dicta = {'id':1, 'code':'a', 'val':'あ'}
print(dicta)
dict型コンストラクタでの作成
dictb = dict(id=2, code='b', val='い')
print(dictb)
組合わせのリストから作成
dictc = dict([('id', 3), ('code', 'c'), ('val', 'う')])
print(dictc)
キーと値のリストを組み合わせて作成
dictd = dict(zip(['id', 'code', 'val'], [4, 'd', 'え']))
print(dictd)
値追加
dictd.setdefault('desc', 'test-value')
print(dictd)
辞書の検索
キー値に対する値の取得
dicta = {'id':1, 'code':'a', 'val':'あ'}
print(dicta['id'])
==> 1
print(dicta['code'])
==> a
print(dicta['val'])
==> あ
print(dicta['idx'])
==> KeyError: 'idx'
値の存在チェック(values)
print(1 in dicta.values())
==> True
キー値の存在チェック(in)
print('id' in dicta)
==> True
print('id' in dicta.keys())
==> True
itemsを使ったキー・値の存在チェック
print(('id', 1) in dicta.items())
==> True
※キーと値の組合わせのタプルで比較する。
print(('val', 1) in dicta.items())
==> False
print(('id', 9) in dicta.items())
==> False
getメソッドでの検索
print(dicta.get('val'))
==> あ
print(dicta.get('valx'))
==> None
forループでの値の取得
for k, v in dicta.items():
print('key:{} val:{}'.format(k, v))
最大・最小値とそのキー値の取得
dictv = {'k1':100, 'k2':120, 'k3':20, 'k4':10, 'k5':99}
print(max(dictv.values()))
==> 120
print(min(dictv.values()))
==> 10
辞書の加工・編集
要素の追加
dicta = {'id':1, 'code':'a', 'val':'あ'}
dicta['addkey'] = 999
print(dicta)
==> {'id': 1, 'code': 'a', 'val': 'あ', 'addkey': 999}
辞書の連結
dicta = {'id':1, 'code':'a', 'val':'あ'}
dictz = {'key':0, 'val1': 'XXX', 'val2':999}
dicta.update(dictz)
==> {'id': 1, 'code': 'a', 'val': 'あ', 'key': 0, 'val1': 'XXX', 'val2': 999}
※キーが存在しなければ追加される
dictb = dict(id=2, code='b', val='い')
dicta.update(dictb)
==> {'id': 2, 'code': 'b', 'val': 'い', 'key': 0, 'val1': 'XXX', 'val2': 999}
※キーが重複する箇所の値は上書きされる
要素の削除(pop)
dicta = {'id':1, 'code':'a', 'val':'あ'}
dicta.pop('val')
==> 'あ'
print(dicta)
==> {'id': 1, 'code': 'a'}
※第2引数を与えると、キーが存在しない場合に指定値を戻す(削除できたかどうかの確認に使用)
dicta.pop('valx', 'XXX')
==> 'XXX'
print(dicta)
==> {'id': 1, 'code': 'a'}
要素の削除(popitem)
dicta = {'id':1, 'code':'a', 'val':'あ'}
dicta.popitem()
==> ('val', 'あ')
dicta.popitem()
==> ('code', 'a')
k, v = dicta.popitem()
print(k, v)
==> id 1
※削除したキー・値の組合わせをタプルで戻す
※引数は指定できない。削除対象となる辞書のキーは指定できない
要素の削除(clear)
dicta = {'id':1, 'code':'a', 'val':'あ'}
dicta.clear()
print(dicta)
==> {}
要素の削除(del)
dicta = {'id':1, 'code':'a', 'val':'あ'}
del dicta['val']
print(dicta)
==> {'id': 1, 'code': 'a'}
集合演算(和集合)
dicta = {'id':1, 'code':'a', 'val':'あ'}
dictb = {'key1': 1, 'key2': 2, 'val': 9}
print(dicta.keys() | dictb.keys())
==> {'key1', 'val', 'key2', 'code', 'id'}
print(dicta.items() | dictb.items())
==> {('key2', 2), ('val', 'あ'), ('key1', 1), ('val', 9), ('id', 1), ('code', 'a')}
※同一名のキーが存在していても両方表示される
集合演算(差集合)
print(dicta.keys() ^ dictb.keys())
==> {'key1', 'key2', 'code', 'id'}
print(dicta.items() ^ dictb.items())
==> {('key2', 2), ('val', 'あ'), ('key1', 1), ('val', 9), ('id', 1), ('code', 'a')}
最近のコメント