Python dictionaryの使い方まとめ

dictionaryの基本

辞書(dictionary)はマッピング型の一つです。
辞書にkeyを与えることで対応する値を返却します。

1
2
3
4
5
6
7
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict['apple']
2
>>> my_dict['aorange']
4
>>> my_dict['banana']
3

zipを用いて辞書を作成

辞書は2つのリストから生成することもできます。

1
2
3
4
5
>>> fruits = ['apple', 'orange', 'banana']
>>> counts = [2, 4, 3]
>>> my_dict = dict(zip(fruits, counts))
>>> my_dict
{'apple': 2, 'orange': 4, 'banana': 3}

keyのlist

1
2
>>> list(my_dict)
['apple', 'orange', 'banana']

keyが存在しない場合

1
2
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict['grape'] # これはエラーとなる

要素の追加

1
2
3
4
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict['grape'] = 1
>>> my_dict
{'apple': 2, 'orange': 4, 'banana': 3, 'grape': 1}

要素の削除

1
2
3
4
5
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict['grape'] = 1
>>> del my_dict['grape']
>>> my_dict
{'apple': 2, 'orange': 4, 'banana': 3}

辞書に含まれるか確認

1
2
>>> 'grape' in my_dict
False

辞書のクリア

1
2
3
4
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict.clear()
>>> my_dict
{}

辞書のコピー

1
2
3
4
5
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict_c = my_dict.copy()
>>> my_dict.clear()
>>> my_dict_c
{'apple': 2, 'orange': 4, 'banana': 3}

getによる値の取得

1
2
3
4
5
6
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict.get('apple')
2
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict.get('grape') is None
True

keyとvalueを取得

1
2
>>> my_dict.items()
dict_items([('apple', 2), ('orange', 4), ('banana', 3)])

keyの取得

1
2
>>> my_dict.keys()
dict_keys(['apple', 'orange', 'banana'])

デフォルト値の設定

1
2
3
4
5
6
7
8
9
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict.setdefault('grape',0)
0
>>> my_dict
{'apple': 2, 'orange': 4, 'banana': 3, 'grape': 0}
>>> my_dict.setdefault('apple',0)
2
>>> my_dict
{'apple': 2, 'orange': 4, 'banana': 3, 'grape': 0}

辞書の更新

1
2
3
4
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict.update({'apple': 3, 'grape': 0})
>>> my_dict
{'apple': 3, 'orange': 4, 'banana': 3, 'grape': 0}

valueの取得

1
2
3
>>> my_dict = {'apple': 2, 'orange': 4, 'banana': 3}
>>> my_dict.values()
dict_values([2, 4, 3])