Pythonの辞書(dict)とは?基本構文から使い方をわかりやすく解説

Pythonの辞書(dict)は、キーと値のペアでデータを管理できる便利な機能です。dictを利用すると、関連するデータを効率的にまとめて扱えるため、商品名と価格やユーザーIDと個人情報など関連するデータの管理に便利です。
本記事では、辞書の基本的な作成方法から要素の追加・削除、さらに実際の使用時に注意すべき点まで、具体的なコード例を交えながら、初心者にも理解しやすい形で詳しく解説します。
Contents
Pythonの辞書(dict)とは?
Pythonの辞書(dict)は、キーと値のペアでデータを格納できるデータ構造です。
例えば、果物の在庫管理をおこなうとき、キーに果物の名前、値に在庫数を設定できます。
fruit_stock = {“りんご”: 5, “みかん”: 10, “バナナ”: 8}
キー |
値 |
りんご |
5 |
みかん |
10 |
バナナ |
8 |
辞書型の特徴は、キーを使って値にアクセスできる点です。配列やリストのように順番で要素を指定するのではなく、キーに対応する値を取得できます。
print(fruit_stock[“りんご”]) # 出力: 5
辞書型はJavaScriptのオブジェクトに似た概念で、プログラミングでよく使われるデータ構造です。
また、辞書型は変更可能(ミュータブル)なデータ型であり、作成後にキーと値のペアを追加したり、既存の値を変更したりできます。
dictの基本構文
Pythonの辞書(dict)は、波括弧{}を使って作成できます。
キーと値は「:(コロン)」で区切り、要素と要素の間は「,(カンマ)」で区切ります。
# 波括弧を使って辞書を作る例
person = {‘name’: ‘山田’, ‘age’: 25} # キー:値の形式で記述
空の辞書を作成する場合は、波括弧だけを記述するか、引数なしでdict()関数を使います。
empty_dict1 = {} # 波括弧で空の辞書を作成
empty_dict2 = dict() # dict()で空の辞書を作成
dictの基本的な使い方
Pythonの辞書型(dict)の基本の書き方を見ていきましょう。
辞書を作成する
辞書の作成方法には複数の方法があります。一般的な方法は波括弧{}を使う方法です。
# キーと値をコロン(:)で区切って記述
fruits = {‘apple’: 100, ‘banana’: 200, ‘orange’: 300}
また、dict()や内包表記でも作成できます。
# キーワード引数形式で記述
person = dict(name=‘山田’, age=25)
# タプルのリストから辞書を作成
fruits = dict([(‘apple’, 100), (‘banana’, 200)])
# 内包表記で辞書を作成(例: 文字列の長さを値とする辞書)
words = [“apple”, “banana”, “cherry”]
word_lengths = {word: len(word) for word in words}
print(word_lengths) # {‘apple’: 5, ‘banana’: 6, ‘cherry’: 6}
要素へアクセスする
辞書の要素へは、キーを使ってアクセスします。
存在しないキーにアクセスするとエラーが発生するため、get()メソッドの使用がおすすめです。
fruits = {‘apple’: 100, ‘banana’: 200}
price = fruits.get(‘apple’) # 100を取得
price = fruits.get(‘melon’, 0) # 存在しない場合は0を返す
新しいキーと値を追加する
辞書に新しい要素を追加するには、キーを指定して値を代入します。
複数の要素を一度に追加する場合は、update()メソッドが便利です。
fruits = {‘apple’: 100}
fruits[‘banana’] = 200 # 要素を追加
fruits.update({‘orange’: 300, ‘grape’: 400}) # 複数要素を追加
キーと値を削除する
要素の削除にはdel文やpop()メソッドを使用します。すべての要素を削除する場合は、clear()メソッドを使います。
fruits = {‘apple’: 100, ‘banana’: 200}
del fruits[‘apple’] # 要素を削除
price = fruits.pop(‘banana’) # 要素を削除して値を取得
fruits.clear() # 全要素を削除
辞書の要素数を返す
len()関数を使用すると、辞書に格納されている要素の数を取得できます。
fruits = {‘apple’: 100, ‘banana’: 200, ‘orange’: 300}
count = len(fruits) # 3が返される
Pythonのdictを使用する際の注意点
Pythonの辞書(dict)を使用する際の重要な注意点を3つご説明します。
キーの重複指定に注意する
Pythonの辞書では、同じキーを複数回指定した場合、最後に指定した値が採用されます。
次のコードは、キー’a’に対して複数の値を指定する例です。
dict_sample = {‘a’: 1, ‘b’: 2, ‘a’: 3} # ‘a’が重複
print(dict_sample[‘a’]) # 結果: 3
キーが変更可能かどうかを確認する
辞書のキーには、変更不可能(イミュータブル)な型のみ使用できます。文字列、数値、タプルなどが該当します。
一方、リストや辞書など変更可能な型はキーとして使用できません。
# 正しい例
ok_dict = {
‘string’: 1, # 文字列をキーに使用
(1, 2): 2, # タプルをキーに使用
100: 3 # 数値をキーに使用
}
# エラーになる例
ng_dict = {[1, 2]: ‘value’} # リストをキーに使用
順序に関して確認が必要
Pythonバージョン3.7以降では、辞書の要素は追加した順序が保持されます。3.6以前のバージョンでは順序は保証されていませんでした。
JavaScriptのオブジェクトとは異なり、Pythonの新しい辞書では要素の順序が重要な意味を持つことがあります。
order_dict = {}
order_dict[‘first’] = 1
order_dict[‘second’] = 2
order_dict[‘third’] = 3
# Python 3.7以降: 追加した順序で表示される
for key in order_dict:
print(key) # first, second, third の順で出力
まとめ
Pythonの辞書(dict)は、キーと値のペアでデータを管理できる便利なデータ構造です。波括弧やdict()関数で作成でき、要素の追加・削除も簡単におこなえます。キーの重複や型には注意が必要です。
基本を押さえて、まずは簡単なデータ管理から辞書型を使ってみましょう。