辞書

Python

辞書とは

Pythonの辞書は、キーと値のペアを保持するデータ型です。リストやタプルとは異なり、要素をインデックスで参照するのではなく、キーで参照します。辞書は {} で囲まれ、キーと値のペアは : で区切られます。複数のキーと値のペアは , で区切ります。

# 辞書の作成
fruits = {'apple': 100, 'banana': 200, 'orange': 300}

要素の参照

辞書の要素はキーで参照します。

# 要素の参照
print(fruits['apple']) # 100
print(fruits['orange']) # 300

存在しないキーで参照すると KeyError が発生します。

# 存在しないキーの参照
print(fruits['grape']) # KeyError: 'grape'

要素の追加と更新

キーと値のペアを追加するには、辞書に新しいキーを指定して値を代入します。

# 要素の追加
fruits['grape'] = 400
print(fruits) # {'apple': 100, 'banana': 200, 'orange': 300, 'grape': 400}

すでに存在するキーを指定して値を代入すると、そのキーに対応する値が更新されます。

# 要素の更新
fruits['banana'] = 500
print(fruits) # {'apple': 100, 'banana': 500, 'orange': 300, 'grape': 400}

要素の削除

キーを指定して辞書から要素を削除するには、del を使用します。

# 要素の削除
del fruits['orange']
print(fruits) # {'apple': 100, 'banana': 500, 'grape': 400}

キーの存在の確認

キーが辞書に存在するかどうかを確認するには、in キーワードを使用します。

# キーの存在の確認
print('banana' in fruits) # True
print('orange' in fruits) # False

辞書のメソッド

以下に、Pythonの辞書で使用できる主なメソッドをいくつか紹介します。

keys()

keys()メソッドは、辞書のすべてのキーを返します。

my_dict = {"apple": 2, "banana": 4, "orange": 6}
print(my_dict.keys())

出力結果:

dict_keys(['apple', 'banana', 'orange'])

values()

values()メソッドは、辞書のすべての値を返します。

my_dict = {"apple": 2, "banana": 4, "orange": 6}
print(my_dict.values())

出力結果:

dict_values([2, 4, 6])

items()

items()メソッドは、辞書のすべてのキーと値のペアを返します。

my_dict = {"apple": 2, "banana": 4, "orange": 6}
print(my_dict.items())

出力結果:

dict_items([('apple', 2), ('banana', 4), ('orange', 6)])

get()

get()メソッドは、指定されたキーに関連付けられている値を返します。指定されたキーが辞書に存在しない場合、Noneを返します。

my_dict = {"apple": 2, "banana": 4, "orange": 6}
print(my_dict.get("apple"))
print(my_dict.get("grape"))

出力結果:

2
None

pop()

pop()メソッドは、指定されたキーに関連付けられている値を取り出し、辞書からそのキーと値のペアを削除します。

my_dict = {"apple": 2, "banana": 4, "orange": 6}
print(my_dict.pop("banana"))
print(my_dict)

出力結果:

4
{'apple': 2, 'orange': 6}

clear()

clear()メソッドは、辞書からすべての要素を削除します。

my_dict = {"apple": 2, "banana": 4, "orange": 6}
my_dict.clear()
print(my_dict)

出力結果:

{}

辞書の内包表記

リストやタプルと同様に、辞書も内包表記を使用して生成できます。辞書内包表記は、以下のように書きます。

{key: value for key, value in iterable}

以下は、リスト内包表記の例と同じようなキーが文字列で、値がその文字列の長さである辞書内包表記の例です。

my_list = ["apple", "banana", "orange"]
my_dict = {fruit: len(fruit) for fruit in my_list}
print(my_dict)   # {'apple': 5, 'banana': 6, 'orange': 6}

コメント