Python ディクショナリの仕組みと使い方(dictionary)

Pythonのディクショナリの仕組みと使い方のサンプルです。

確認環境
・Python 3

目次

仕組み ディクショナリ
初期値 要素に初期値をセットする
取得する キーを指定して値を取得する
  キーと値をすべて取得する(for文)
  キーの集合を取得する(keys)
  値の集合を取得する(values)
  指定のキーがあるか真偽値を返す(in)
  要素数を取得する(len)
更新する 要素を追加する
  要素の値を変更する
  要素を削除する(del)
  要素を削除する+削除した要素を取得する(pop)
その他 ディクショナリをリストにする

ディクショナリ

変数 = { キー1:値1 , キー2:値2 , キー3:値3 , ... ]

  • 1つの変数で複数の「キー」と「値」を保持できます。
    →各項目を要素(element)といいます。
  • キーは、数値や文字列を使用できます。
  • 値は、数値や文字列やリストなども使用できます。
  • 順序は保証されません。
  • ディクショナリは辞書とも呼ばれます。他言語での連想配列です。
  • 以下はPythonの公式ドキュメントのディクショナリのリンクです。
    https://docs.python.jp/3/tutorial/datastructures.html#tut-dictionaries

要素に初期値をセットする

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

print (a) # {'c1': '赤', 'c2': '黄', 'c3': '青'}

3行目は、ディクショナリとして、変数に初期値をセットしています。
キーと値を波括かっこで括っています。
7行目は、変数の値を表示しています。

キーを指定して値を取得する

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

print (a["c1"]) #赤
print (a.get("c2")) #黄

7,8行目は、ディクショナリのキーを指定して値を表示しています。

キーと値をすべて取得する(for文)

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

for key in a:
	print(key,a[key]) #c1 赤 c2 黄 c3 青

7行目は、for文でキーと値をすべて取得しています。

キーの集合を取得する(keys)

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

for b in a.keys():
	print(b) #c1 c2 c3が出力される

7行目は、ディクショナリのキーの集合を取得しfor文でキーを表示しています。

値の集合を取得する(values)

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

for b in a.values():
	print(b) #赤 黄 青が出力される

7行目は、ディクショナリの値の集合を取得しfor文で値を表示しています。

指定のキーがあるか真偽値を返す(in)

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

if ('c2' in a):
	print ("存在します") # 存在しますと出力される

if ('c5' in a):	
	print ("あり") # 出力されない

7行目は、in演算子でキーを指定して存在を確認しています。存在するのでtrueです。
10行目は、指定のキーが存在しないのでFalseです。

要素数を取得する(len)

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

print (len(a)) # 3

7行目は、len関数で要素数を取得しています。

要素を追加する

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

a["c4"] = "オレンジ"

print (a) # {'c1': '赤', 'c2': '黄', 'c3': '青', 'c4': 'オレンジ'}

7行目は、キーと値を指定して要素を追加しています。

要素の値を変更する

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

a["c2"] = "緑"

print (a) # {'c1': '赤', 'c2': '緑', 'c3': '青'}

7行目は、キーを指定して要素の値を変更しています。

要素を削除する (del)

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

del a["c2"]

print (a) # {'c1': '赤', 'c3': '青'}

7行目は、del文でキーを指定して要素を削除しています。

要素を削除する+削除した要素を取得する(pop)

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

b = a.pop("c2")

print (a) # {'c1': '赤', 'c3': '青'}

print (b) # 黄

7行目は、popメソッドでキーを指定して要素を削除しています。
またpopメソッドは削除した値を返します。11行目は削除した値が表示されます。

ディクショナリをリストにする

# coding: utf-8

a = {"c1":"赤",
	"c2":"黄",
	"c3":"青"}

b = list(a.keys())
print (b) # ['c1', 'c2', 'c3']

c = list(a.values())
print (c) # ['赤', '黄', '青']

d = list(a.items())
print (d) # [('c1', '赤'), ('c2', '黄'), ('c3', '青')]

7行目は、取得したキーをリストにしています。
10行目は、取得した値をリストにしています。
13行目は、取得したキーと値をリストにしています。

関連の記事

Python リストの仕組みと使い方のサンプル(list)
Python タプルの仕組みと使い方のサンプル(tuple)
Python セットの仕組みと使い方のサンプル(set)

△上に戻る