IT・WEB・ゲーム業界の転職に強いR-Stone

転職コラム

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

Pythonの辞書(dict)は、キーと値のペアでデータを管理できる便利な機能です。dictを利用すると、関連するデータを効率的にまとめて扱えるため、商品名と価格やユーザーIDと個人情報など関連するデータの管理に便利です。

本記事では、辞書の基本的な作成方法から要素の追加・削除、さらに実際の使用時に注意すべき点まで、具体的なコード例を交えながら、初心者にも理解しやすい形で詳しく解説します。

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()関数で作成でき、要素の追加・削除も簡単におこなえます。キーの重複や型には注意が必要です。

基本を押さえて、まずは簡単なデータ管理から辞書型を使ってみましょう。