ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Python - 辞書(Dictionary)

初めに

 本記事では、Python における辞書(Dictionary)の使い方をまとめます。

辞書

辞書とは

 辞書(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) # タプルのリスト