辞書¶
辞書とはキーと、対応する値を値を持つデータです。

以下の決まりがあります。
- キーと値で1つの要素 
- 各要素の間には、順序がない 
- 要素を追加、削除できる 
- キーを利用して、値を変更できる 
辞書オブジェクトは、{キー: 値, キー: 値, ...}のようにキーと値をコロン(:)で結合し、カンマ(,)で複数の要素を区切ります。要素を持たない空の辞書は{}で表します。
作成¶
空の辞書を作るには辞書名 = {}と書きます。
辞書に値を追加するには辞書名[キー] = 値と書きます。
sample_dict = {}  # 空の辞書
# 追加
sample_dict['apple'] = 'りんご'
sample_dict['orange'] = 'オレンジ'
sample_dict['banana'] = 'バナナ'
# 表示
print(sample_dict)
実行結果:
{'orange': 'オレンジ', 'banana': 'バナナ', 'apple': 'りんご'}
実業務で辞書をそのままprint()することはありませんが、学習中に辞書の状態を確認するには便利です。追加順に並ばないことを覚えておきましょう。
値を指定した辞書の作成¶
初めからキーと値のペアを指定して辞書を作成できます。キー: 値のペアを{}の中にカンマ(,)で区切って並べます。
辞書名[キー] = 値を利用し、データを持っている辞書に要素を追加できます。
# 作成
sample_dict = {'apple': 'りんご', 'orange': 'オレンジ', 'banana': 'バナナ'}
# 表示
print(sample_dict)  # -> {'orange': 'オレンジ', 'banana': 'バナナ', 'apple': 'りんご'}
# 追加
sample_dict['peach'] = 'もも'
# 表示
print(sample_dict)  # -> {'orange': 'オレンジ', 'banana': 'バナナ', 'apple': 'りんご', 'peach': 'もも'}
参照¶
辞書名[キー]でキーとペアになっている値を参照できます。
print(sample_dict['apple'])  # -> りんご
print(sample_dict['orange'])  # -> オレンジ
辞書に指定したキーが存在しない場合、KeyErrorが発生します。

詳しくは、KeyErrorを参照ください。
keys()¶
辞書.keys()は辞書に存在するキーの一覧を返します。dict_keys()で囲まれていますが、リストと同じようにfor文などで利用できます。
list()で囲めば、リストにも変換できます。
sample_dict = {'apple': 'りんご', 'orange': 'オレンジ', 'banana': 'バナナ'}
keys = list(sample_dict.keys())
print(keys)
for key in sample_dict.keys():
    print(key)
実行結果:
['orange', 'apple', 'banana']
apple
banana
orange
values()¶
辞書.values()は辞書に存在する値の一覧を返します。dict_values()で囲まれていますが、リストと同じようにfor文などで利用できます。
list()で囲めば、リストにも変換できます。
sample_dict = {'apple': 'りんご', 'orange': 'オレンジ', 'banana': 'バナナ'}
values = list(sample_dict.values())
print(values)
for value in sample_dict.values():
    print(value)
実行結果:
['りんご', 'バナナ', 'オレンジ']
りんご
バナナ
オレンジ
items()¶
辞書.items()は辞書のキーと値の(key, value)対のリストを返します。
dict_items()で囲まれていますが、リストと同じようにfor文などで利用できます。
list()で囲めば、リストにも変換できます。
for文でforの後ろに変数をカンマ区切りで2つ指定すると、辞書のキーが1番目、値が2番目の変数に代入されます。
sample_dict = {'apple': 'りんご', 'orange': 'オレンジ', 'banana': 'バナナ'}
items = list(sample_dict.items())
print(items)
for key, item in sample_dict.items():
    print(key, item)
実行結果:
[('apple', 'りんご'), ('banana', 'バナナ'), ('orange', 'オレンジ')]
apple りんご
banana バナナ
orange オレンジ
dict.keys() 、  dict.values() 、 dict.items() によって返されるオブジェクトはリストではありません。
dict_keys オブジェクト、 dict_values オブジェクト、 dict_items オブジェクトを返します。
今は「リストのようなもので、 list() を使えば、リストに変換できるオブジェクト」と考えれば十分です。
詳しく知りたい方は、 4.10.1. 辞書ビューオブジェクト を参照ください。
存在確認¶
in演算子を利用し、辞書に特定のキーを持つペアが存在するか確認できます。
if 'apple' in sample_dict:
    print('存在')
辞書.get(キー, キーがない場合の値)も利用できます。辞書に指定したキーが存在すれば、キーに紐付いた値を返し、存在しない場合は2番目の引数の値が返ります。
sample_dict = {'apple': 'りんご', 'orange': 'オレンジ', 'banana': 'バナナ'}
print(sample_dict.get('peach', '在庫なし'))
更新¶
辞書名[キー]を利用して、値の更新が行なえます。
sample_dict = {'apple': 'りんご', 'orange': 'オレンジ', 'banana': 'バナナ'}
print(sample_dict)  # -> {'orange': 'オレンジ', 'banana': 'バナナ', 'apple': 'りんご'}
# 更新
sample_dict['orange'] = 'みかん'
print(sample_dict)  # -> {'orange': 'みかん', 'banana': 'バナナ', 'apple': 'りんご'}
削除¶
pop()か、delで指定したキーのペアを削除します。
a = sample_dict.pop('apple')
print(sample_dict)  # -> {'peach': 'もも', 'orange': 'みかん', 'banana': 'バナナ'}
print(a)  # -> りんご
del sample_dict['peach']
print(sample_dict)  # -> {'orange': 'みかん', 'banana': 'バナナ'}
全削除¶
要素をすべて削除したい場合は、clear()か、{}の再代入を利用する。
sample_dict.clear()
print(sample_dict)  # -> {}
sample_dict = {}
print(sample_dict)  # -> {}
公式ドキュメント¶
詳しくは 辞書型 を参照ください。
 
             
         
         
        