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

目次

ディクショナリとは

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

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

 

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

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

print (a) # {'c1': 'red', 'c2': 'yellow', 'c3': 'blue'}

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

 

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

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

print (a["c1"]) #red
print (a.get("c2")) #yellow

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

 

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

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

for key in a:
	print(key,a[key]) #c1 red c2 yellow c3 blue

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

 

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

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

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

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

 

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

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

for b in a.values():
	print(b) #red yellow blueが出力される

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

 

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

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

if ('c2' in a):
	print ("ok1") # 出力される

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

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

 

要素数を取得する(len)

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

print (len(a)) # 3

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

 

要素を追加する

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

a["c4"] = "green"

print (a) # {'c1': 'red', 'c2': 'yellow', 'c3': 'blue', 'c4': 'green'}

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

 

要素の値を変更する

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

a["c2"] = "green"

print (a) # {'c1': 'red', 'c2': 'green', 'c3': 'blue'}

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

 

要素を削除する (del)

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

del a["c2"]

print (a) # {'c1': 'red', 'c3': 'blue'}

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

 

要素を削除する+削除した要素の値を返す(pop)

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

b = a.pop("c2")

print (a) # {'c1': 'red', 'c3': 'blue'}

print (b) # yellow

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

 

ディクショナリをリストにする(キー,値,キーと値)

# coding: utf-8

a = {"c1":"red",
	"c2":"yellow",
	"c3":"blue"}

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

c = list(a.values())
print (c) # ['red', 'yellow', 'blue']

d = list(a.items())
print (d) # [('c1', 'red'), ('c2', 'yellow'), ('c3', 'blue')]

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

関連の記事

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

△上に戻る