Python - 辞書(Dictionary)
初めに
本記事では、Python における辞書(Dictionary)の使い方をまとめます。
Index
辞書
辞書とは
辞書(Dictionary)とは、キーと値のペアを格納するデータ構造のことで、「連想配列」とも呼ばれます。
辞書の定義、参照
次のように中括弧内でキーと値をコロン ":" で区切って記述することで定義します。
(定義の仕方)
# 辞書の定義 my_dict = {'キー1': '値1', 'キー2': '値2', ...}
次のような例をみると、辞書と呼ばれる理由がわかると思います。
fruit_dict = {
'apple': 'りんご',
'banana': 'バナナ',
'orange': 'オレンジ',
'grape': 'ぶどう',
'kiwi': 'キウイ',
'watermelon': 'すいか'
}
# 辞書を参照し, 表示
print(fruit_dict["orange"]) #出力結果 オレンジ
この例では、果物の英語名と日本語名を対応付けています。キーが英語、値が日本語になっています。上の例ではさらに、辞書を参照し、オレンジという値を取り出しています。辞書にキーを入れることで、値が取り出せます。
(参照の仕方)
辞書オブジェクト[キー] # 例 fruit_dict["orange"]
KeyError
辞書に登録されていないキーを指定すると、次のように KeyError というエラーが発生します。
![]()
空の辞書
要素が登録されていない辞書も定義ができます。
empty_dict = {}
print(empty_dict) # 出力結果 {}
要素の追加、置き換え
要素の追加、置き換えは値の代入と同じようにできます。
(要素の追加、変更の仕方)
# 新しいキーと値の追加 my_dict['新しいキー'] = '新しい値' # キーに対する値の変更 my_dict['キー2'] = '新しい値2'
fruit_dict = {
'apple': 'りんご',
'banana': 'バナナ',
'orange': 'オレンジ',
'grape': 'ぶどう',
'kiwi': 'キウイ',
'watermelon': 'すいか'
}
# 新しい要素の追加
fruit_dict["peach"] = "もも"
# キーに対する値の変更
fruit_dict["apple"] = "林檎"
要素の削除
要素の削除には del 文を使います。
(要素の削除の仕方)
# キーとそれに対応する値の削除 del my_dict['キー3']
fruit_dict = {
'apple': 'りんご',
'banana': 'バナナ',
'orange': 'オレンジ',
'grape': 'ぶどう',
'kiwi': 'キウイ',
'watermelon': 'すいか'
}
# 要素の削除
del fruit_dict["apple"]
print(fruit_dict["apple"]) # KeyError
要素数の取得
len() 関数を用いて、辞書の要素数を取得することができます。
(要素数の取得の仕方)
# 要素数の取得 len(辞書名)
fruit_dict = {
'apple': 'りんご',
'banana': 'バナナ',
'orange': 'オレンジ',
'grape': 'ぶどう',
'kiwi': 'キウイ',
'watermelon': 'すいか'
}
print(len(fruit_dict)) # 出力結果 6
in 演算子
キーが登録されているかどうか、確認するには in 演算子を用います。
(in 演算子の使い方)
キー in 辞書オブジェクト
指定したキーが登録されていれば True を、登録されていなければ False を返します。
fruit_dict = {
'apple': 'りんご',
'banana': 'バナナ',
'orange': 'オレンジ',
'grape': 'ぶどう',
'kiwi': 'キウイ',
'watermelon': 'すいか'
}
print("apple" in fruit_dict) # 出力結果 True
print("peach" in fruit_dict) # 出力結果 False
keys()、values()、items()
辞書に関する関数の中に、keys()、values()、items() があります。
| 関数名 | 説明 |
|---|---|
| keys() | キーのリストを取得 |
| values() | 値のリストを取得 |
| items() | キーと値の組(タプル)のリストを取得 |
fruit_dict = {
'apple': 'りんご',
'banana': 'バナナ',
'orange': 'オレンジ',
'grape': 'ぶどう',
'kiwi': 'キウイ',
'watermelon': 'すいか'
}
# キーのリスト
keys_list = list(fruit_dict.keys())
# 値のリスト
values_list = list(fruit_dict.values())
# キーと値のペアのリスト
items_list = list(fruit_dict.items())
# 結果を出力
print("キーのリスト:", keys_list)
print("値のリスト:", values_list)
print("キーと値のペアのリスト:", items_list) # タプルのリスト
