Python dict()とは?辞書を作成・変換する方法を初心者向けに解説

Pythonのdict()は、辞書(dictionary)を作成したり、他のデータを辞書に変換したりするための組み込み関数です。
Pythonでデータを「キーと値」の組み合わせで管理したいときに利用します。
この記事では、dict()の基本的な使い方から、リストやタプルから辞書を作る方法、よくある間違いまで初心者向けに解説します。
Pythonのdict()とは
dict()は、Pythonで辞書型のオブジェクトを作成するための組み込み関数です。
基本的な書き方は次の通りです。
dict()
実行すると、空の辞書が作られます。
data = dict()
print(data)
実行結果:
{}
{}も空の辞書を作ることができます。
data = {}
そのため、単純に空の辞書を作るだけなら{}を使うことも多いです。
Pythonの辞書とは
辞書は、キー(key)と値(value)の組み合わせでデータを管理するデータ型です。
例えば、名前と年齢を管理する場合は次のように書けます。
person = {
"name": "田中",
"age": 30
}
この場合、
"name" → "田中"
"age" → 30
という対応関係になっています。
辞書から値を取り出すには、キーを指定します。
print(person["name"])
実行結果:
田中
dict()で辞書を作る
dict()にはキーワード引数を指定できます。
person = dict(name="田中", age=30)
print(person)
実行結果:
{'name': '田中', 'age': 30}
この方法では、
dict(name="田中", age=30)
が次の辞書と同じ意味になります。
{
"name": "田中",
"age": 30
}
dict()で複数のデータを登録する
複数のキーと値を指定することもできます。
user = dict(
name="山田",
age=25,
city="東京"
)
print(user)
実行結果:
{'name': '山田', 'age': 25, 'city': '東京'}
dict()でリストから辞書を作る
dict()では、キーと値のペアを持つリストから辞書を作ることができます。
例えば次のようなリストを用意します。
data = [
["name", "田中"],
["age", 30]
]
これをdict()に渡します。
person = dict(data)
print(person)
実行結果:
{'name': '田中', 'age': 30}
この方法は、2つの要素を持つリストの組み合わせを辞書に変換するときに便利です。
dict()でタプルから辞書を作る
タプルを使っても辞書を作れます。
data = (
("name", "田中"),
("age", 30)
)
person = dict(data)
print(person)
実行結果:
{'name': '田中', 'age': 30}
dict()は、次のような「キーと値」の組み合わせを辞書に変換できます。
[
("name", "田中"),
("age", 30)
]
dict()で辞書をコピーする
すでに辞書がある場合、その辞書をdict()に渡して新しい辞書を作ることもできます。
person = {
"name": "田中",
"age": 30
}
new_person = dict(person)
print(new_person)
実行結果:
{'name': '田中', 'age': 30}
この場合、new_personはpersonと同じ内容を持つ別の辞書になります。
dict()と{}の違い
空の辞書を作る場合は、次の2つの書き方があります。
data = {}
data = dict()
どちらも空の辞書を作ります。
print(type(data))
実行結果:
<class 'dict'>
単純に空の辞書を作るだけなら、一般的には{}が簡潔です。
一方、データを変換するときにはdict()が便利です。
data = [
("name", "田中"),
("age", 30)
]
person = dict(data)
dict()とlist()の違い
Pythonにはdict()以外にも、データ型を作ったり変換したりする組み込み関数があります。
例えばlist()はリストを作成します。
data = list("Python")
print(data)
実行結果:
['P', 'y', 't', 'h', 'o', 'n']
一方、dict()は辞書を作成します。
data = dict(name="田中", age=30)
print(data)
実行結果:
{'name': '田中', 'age': 30}
それぞれ作成するデータ型が異なります。
| 関数 | 作成するデータ型 |
|---|---|
list() |
リスト |
tuple() |
タプル |
set() |
集合 |
dict() |
辞書 |
str() |
文字列 |
dict()でキーと値のペアを変換する
dict()を使う代表的なケースが、2つの要素を持つデータを辞書に変換する方法です。
data = [
("apple", 100),
("banana", 150),
("orange", 120)
]
prices = dict(data)
print(prices)
実行結果:
{'apple': 100, 'banana': 150, 'orange': 120}
このようにすると、商品名をキーとして価格を管理できます。
print(prices["apple"])
実行結果:
100
dict()でエラーになるケース
dict()に渡すデータは、基本的にキーと値の2つの要素を持つ組み合わせになっている必要があります。
例えば次のコードはエラーになります。
data = [
["name", "田中", 30]
]
person = dict(data)
1つの要素が3つあるため、dict()で辞書に変換できません。
逆に、要素が1つしかない場合も同様です。
data = [
["name"]
]
person = dict(data)
このようなデータをdict()に渡す場合は注意が必要です。
dict()で同じキーを使う場合
辞書では同じキーを複数登録することはできません。
例えば次のようなデータをdict()に渡した場合です。
data = [
("name", "田中"),
("name", "山田")
]
person = dict(data)
print(person)
実行結果:
{'name': '山田'}
後から指定された値が残ります。
そのため、キーが重複していないか確認することが重要です。
dict()の基本まとめ
dict()の基本的な使い方を整理すると、次のようになります。
空の辞書を作る
data = dict()
キーワード引数から辞書を作る
data = dict(name="田中", age=30)
リストから辞書を作る
data = dict([
["name", "田中"],
["age", 30]
])
タプルから辞書を作る
data = dict([
("name", "田中"),
("age", 30)
])
既存の辞書から新しい辞書を作る
data = {
"name": "田中",
"age": 30
}
new_data = dict(data)
Pythonのdict()を使いこなそう
dict()は、単に空の辞書を作るだけではなく、リストやタプルなどのキー・値の組み合わせを辞書へ変換するときにも利用できます。
特に、
dict([
("name", "田中"),
("age", 30)
])
のような使い方は、Pythonでデータを扱ううえで重要です。
また、辞書はPythonのプログラミングで非常によく使われるデータ型です。
person = {
"name": "田中",
"age": 30
}
という基本形を理解したうえで、
-
dict()で辞書を作る -
キーを指定して値を取得する
-
キーと値を追加・変更する
-
辞書をループ処理する
-
リストと辞書を組み合わせる
といった使い方を覚えていくと、Pythonで実用的なプログラムを作りやすくなります。
まとめ
Pythonのdict()は、辞書を作成したり、キーと値のペアを辞書に変換したりするための組み込み関数です。
基本的な使い方は次の通りです。
data = dict(name="田中", age=30)
また、リストやタプルから辞書を作ることもできます。
data = [
("name", "田中"),
("age", 30)
]
person = dict(data)
Pythonでデータを扱うなら、dict()と辞書の基本操作はぜひ覚えておきたい内容です。
あわせて読みたい
dict()は、Pythonの組み込み関数の1つです。ほかの関数・メソッドとあわせて確認したい方は、次の一覧ページをご覧ください。



