この記事では、Pythonの辞書の使い方を解説します。
辞書はマップや連想配列と呼ばれ key と value の2つの値を用いて扱われます。名前(key) と 値(value) を 紐つけることで key から value を呼び出すことができます。
では、辞書の使い方を見ていきましょう❗️
辞書とは?

辞書とは key と value の2つの値を1つの要素として扱うコンテナ です。
key と value を紐付け、key から value にアクセスすることができます。key には、ハッシュ可能な値を指定することができます。
このような key となる値を任意のオブジェクトに対応付けるデータ型のことを マッピング型 と呼びます。
- key と value で1つの要素
- マッピング型である
- 連想配列や連想記憶と呼ばれたりする
辞書の生成
辞書を生成するには {}
を使います。
変数 = {}
辞書の コンストラクタdict()
を使っても宣言できます
変数 = dict()
辞書を初期化するには {}
内に key と value を :
で区切って1組の要素とします。複数の要素を記述する場合は ,(カンマ)
で区切って記述します。
変数 = {key1: value1, key2: value2, ..., keyN: valueN}
サンプル
試しに辞書を作成して出力してみます。
d = {'key1': 1, 'key2': 2, 'key3': 3}
print(d)
print(type(d))
実行結果
{'key1': 1, 'key2': 2, 'key3': 3}
<class 'dict'>
辞書の使い方
簡単に辞書の使い方を見ていきましょう!
要素の取得
辞書の値は dict[key]
で取得することができます。
d = {'name': '田中太郎', 'age': 20, 'gender': '男'}
print(d['name'])
print(d['age'])
実行結果
田中太郎
20
辞書内に存在しない key を指定すると KeyError
が発生します。
d = {'name': '田中太郎', 'age': 20, 'gender': '男'}
print(d['from'])
実行結果
Traceback (most recent call last):
File "/Users/user/Desktop/Python/main.py", line 3, in
print(d['from'])
KeyError: 'from'
要素の変更・追加
dict[key] = value
で 指定した key の要素が辞書内に存在していればその要素の value を変更し、存在していなければ新たに追加します。
d = {'name': '田中太郎', 'age': 20, 'gender': '男'}
# 存在する key を指定
d['name'] = '山田花子'
print(d)
# 存在しない key を指定
d['from'] = 'Japan'
print(d)
実行結果
{'name': '山田花子', 'age': 20, 'gender': '男'}
{'name': '山田花子', 'age': 20, 'gender': '男', 'from': 'Japan'}
要素の削除
del dict[key]
で指定した要素を削除することができます。
d = {'name': '田中太郎', 'age': 20, 'gender': '男'}
del d['gender']
print(d)
実行結果
{'name': '田中太郎', 'age': 20}
要素の並び替え
辞書を並び替えるには sorted()
関数 を使います。
d = {'name': '田中太郎', 'age': 20, 'gender': '男'}
sorted_d = sorted(d)
print(sorted_d)
実行結果
['age', 'gender', 'name']
長さの取得: len関数
len()
関数 を使って長さを取得できます。
len(dict)
サンプル
試しに長さを取得してみます。
d = {'name': '田中太郎', 'age': 20, 'gender': '男'}
print(len(d))
実行結果
3
keyの検索: in演算子
in
演算子 を使うことで辞書内に指定した key が存在するか確認できます。
key in dict
サンプル
試しに指定した key が存在するか確認してみます。
d = {'name': '田中太郎', 'age': 20, 'gender': '男'}
# 存在する key
print('name' in d)
# 存在しない key
print('from' in d)
実行結果
True
False
内包表記を使う
内包表記で {}
を使うことで戻り値を辞書にすることができます。
辞書名 = {key: value for 変数 in 反復可能オブジェクト}
試しに内包表記で辞書を作成してみます。
d = {i: i * i for i in range(3)}
print(d)
実行結果
{0: 0, 1: 1, 2: 4}
2つのリストから辞書を作成するすることもできます。zip()
関数を使うことで 2つのリストを使って辞書を作成できます。
辞書名 = {key: value for key名, value名 in zip(リスト1, リスト2)}
試しに2つのリストを作成し、そのリストから辞書を作成してみます。
keys = ['a', 'b', 'c']
values = [1, 2, 3]
d = {k: v for k, v in zip(keys, values)}
print(d)
実行結果
{'a': 1, 'b': 2, 'c': 3}
要素数が違う場合も試してみましょう!
keys = ['a', 'b', 'c', 'd']
values = [1, 2, 3]
d = {k: v for k, v in zip(keys, values)}
print(d)
実行結果
{'a': 1, 'b': 2, 'c': 3}
少ない要素数に合わせて処理されました!
まとめ
この記事では、Python の辞書の使い方を解説をしました。
簡単におさらいしておきましょう!
# 宣言・初期化
d = {'key1': 1, 'key2': 2}
# 要素にアクセス
print(d['key1']) # 1
# 要素追加
d['key3'] = 3 # {'key1': 1, 'key2': 2, 'key3': 3}
# 要素削除
del d['key1'] # {'key2': 2, 'key3': 3}
# キー検索
'key1' in d # False
'key2' in d # True
リストだけでなく用途に合わして辞書などの配列を使うことで、より強固なプログラムを作成できます。辞書は覚えることが多いので少しずつ慣れていきましょう。
それでは今回の内容はここまでです!それではまたどこかで〜( ・∀・)ノ