毎日Pythonのdictを勉強します


毎日Pythonのdictを勉強します
辞書はキー値のペアを格納するために使用され、Pythonでは同じ辞書のキーと値に異なるタイプがあります.
辞書の作成
空の辞書を作成するには、次の2つの方法があります.
d = {}
d = dict()

要素を含む辞書を作成する方法は多く、次の操作の結果は同じです.
>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> d = dict([('two', 2), ('one', 1), ('three', 3)])
>>> e = dict({'three': 3, 'one': 1, 'two': 2})

辞書のクエリ
辞書の値を取得するにはdict[key]で取得するだけで、キーが存在しない場合はKeyErrorエラーが放出されます.dict.get(k[,default])メソッドを使用して取得することもできます.このメソッドは、キーが存在しなくてもエラーを投げ出すことはありません.デフォルトの値を与えて、キー値ペアが存在しない場合に返すことができます.
>>> a = dict(one=1, two=2, three=3)
>>> a['one']
1
>>> a['four']
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'four'
>>> a.get('four')

>>> a.get('four',4)
4

辞書の修正
辞書のキーに対応する値を変更するには、取り出して直接値を付けるだけでいいです.変更したキーがもともと存在しなければ、辞書にキー値ペアを追加することになります.
>>> a = dict(one=1, two=2, three=3)
>>> a['one']=10
>>> a
{'two': 2, 'one': 10, 'three': 3}
>>> a['four']=4
>>> a
{'two': 2, 'four': 4, 'one': 10, 'three': 3}

一方、dict.setdefault(key[,default])は、keyが存在する場合は変更せずにその値を返し、存在しない場合はdefaultのデフォルトがNoneであるキー値ペア(key,default)を追加します.
>>> a = dict(one=1, two=2, three=3)
>>> a.setdefault('one')
1
>>> a
{'two': 2, 'one': 1, 'three': 3}
>>> a.setdefault('four')
>>> a
{'two': 2, 'four': None, 'one': 1, 'three': 3}

ロット増加にはdict.update(p)の方法がある.
辞書の削除
キー値ペアを削除する場合は、delメソッドを直接使用して、存在しないキー値ペアを削除しようとすると、KeyErrorエラーが放出されます.
>>> a
{'two': 2, 'four': 4, 'one': 10, 'three': 3}
>>> del a['four']
>>> a
{'two': 2, 'one': 10, 'three': 3}
>>> del a['four']
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'four'

また、dict.clear()を呼び出して辞書を空にすることもできます.さらに、dict.pop(key[,default])dict.popitem()があります.この2つは、特定のキーに対応するキー値のペアをポップアップし、もう1つは任意のキー値のペアをポップアップします.
>>> a
{'two': 2, 'one': 10, 'three': 3}
>>> a.pop("one")
10
>>> a
{'two': 2, 'three': 3}
>>> a.popitem()
('two', 2)
>>> a
{'three': 3}

辞書の集合
ディクショナリは、すべてのキー値ペア、キー、および値を返します.これらのタイプはディクショナリ内蔵タイプであり、リスト()からリストに変換できます.
>>> a = dict(one=1, two=2, three=3)
>>> a
{'two': 2, 'one': 1, 'three': 3}
>>> a.items()
dict_items([('two', 2), ('one', 1), ('three', 3)])
>>> a.values()
dict_values([2, 1, 3])
>>> a.keys()
dict_keys(['two', 'one', 'three'])
>>> list(a.keys())
['two', 'one', 'three']