Pythonのdictionaryの使用方法のまとめです。
dictionaryの作成
波括弧を使用してdictionaryを作成します。
キーと対応する値を入力します。
1 2 3 |
dic = {'A': 1, 'B': 2, 'C': 3} # dictionaryは順番を保持しません。 print(dic) # {'B': 2, 'C': 3, 'A': 1} |
dictionaryにないキーを指定するとKeyErrorになります。
1 2 |
dic = {'A': 1, 'B': 2, 'C': 3} print(dic['D']) # KeyError: 'D' |
dictionaryから値を取得する
キーを指定して値を取得する
dictionaryでキーを指定して、キーに紐づく値を取得できます。
1 2 |
dic = {'A': 1, 'B': 2, 'C': 3} print(dic['A']) # 1 |
dictionaryのキーと値の両方を取得するitemsメソッド
itemsメソッドでdictionaryのキーと値の両方を取得します。
1 2 3 |
dic = {'A': 1, 'B': 2, 'C': 3} for key, value in dic.items(): print(key, value) # C 3, B 2, A 1 |
dictinaryのキーを取得するkeysメソッド
dictinaryのキーを取得します。
1 2 3 |
dic = {'A': 1, 'B': 2, 'C': 3} for key in dic.keys(): print(key) # A, C, B |
dictinaryの値を取得するvaluesメソッド
dictinaryの値を取得します。
1 2 3 |
dic = {'A': 1, 'B': 2, 'C': 3} for value in dic.values(): print(value) # 1, 2, 3 |
dictionaryの値を更新する
キーを指定して値を更新
dictionaryのキーを指定して値を更新します。
1 2 3 |
dic = {'A': 1, 'B': 2, 'C': 3} dic['A'] = 100 print(dic['A']) # 100 |
別のdictionaryを使用して値を更新、追加するupdateメソッド
別のdictionaryを使用して
dictionaryのキーと値の追加、更新を行います。
1 2 3 4 |
dic_1 = {'A': 1, 'B': 2, 'C': 3} dic_2 = {'A': 100, 'D': 4} dic_1.update(dic_2) print(dic_1) # {'A': 100, 'C': 3, 'D': 4, 'B': 2} |
dictionaryからデータを削除する
del文
del文でキーを指定して、dictionaryから値を削除できます。
キーが存在しない場合、KeyErrorになります。
1 2 3 4 |
dic = {'A': 1, 'B': 2, 'C': 3} del dic['A'] print(dic) # {'C': 3, 'B': 2} del dic['D'] # KeyError: 'D' |
pop
popでキーを指定して、dictionaryから値を削除できます。
削除したキーの値を取得できます。
キーが存在しない場合、KeyErrorになります。
1 2 3 4 |
dic = {'A': 1, 'B': 2, 'C': 3} value = dic.pop('A') print(value, dic) # 1 {'C': 3, 'B': 2} del dic['D'] # KeyError: 'D' |
・clear
dictionaryの内容をすべて削除します。
1 2 3 |
dic = {'A': 1, 'B': 2, 'C': 3} dic.clear() print(dic) # {} |
その他のメソッド
setdefault
dictionaryにキーが存在するときは値を取り出します。
キーがない場合は、指定した値をdictionaryにセットし値を返します。
1 2 3 4 |
dic = {'A': 1, 'B': 2, 'C': 3} print(dic.setdefault('A', 5)) # 1 print(dic.setdefault('D', 4)) # 4 print(dic) # {'D': 4, 'C': 3, 'B': 2, 'A': 1} |
参考
dictionaryの順序を保持したいときはOrderedDict
dictionaryは要素の順番は保持しません。
要素の順番を保持したいときはcollectionsパッケージのOrderedDictを
使用しましょう。
collections --- コンテナデータ型 — Python 3.9.1 ドキュメント
dictionaryの計算量
計算量は公式ページのTimeComplexityのdictが参考になります。
TimeComplexity - Python Wiki
コメント