Python: ディクショナリの全てのキーと値のペアを取得する items()

Pythonでディクショナリ(辞書)のすべてのキーと値のペアを取得する場合は、 items()メソッドを使います。

ディクショナリ.items()

戻り値は dict_itemsオブジェクトで、 キーと値のペアがタプルとして入っています。 dict_keysオブジェクトの具体例を表示してみます。

d = {"a": 10, "b": 20, "c": 30}

print(d.items()) # dict_items([('a', 10), ('b', 20), ('c', 30)])

print(type(d.items())) # <class 'dict_items'>

dict_itemsオブジェクトをfor文に渡す

dict_itemsオブジェクトはイテラブル(反復処理が可能)なオブジェクトです。 そのままfor文に渡して処理することができます。

d = {"a": 10, "b": 20, "c": 30}

for t in d.items():
	print(t)

# 実行結果
('a', 10)
('b', 20)
('c', 30)

リストに変換する

dict_itemsオブジェクトをlistコンストラクタに渡すとリストに変換できます。 キーと値のペア(タプル)のリストになります。

d = {"a": 10, "b": 20, "c": 30}

li = list(d.items())

print(li) # [('a', 10), ('b', 20), ('c', 30)]

print(type(li))  # <class 'list'>

キーと値を別々に取得する

キーと値を別々に取得したい場合はfor文でループを回すときに、 キー用の変数と値用の変数を別々に用意します。 つまりタプルをアンパックすることで別々に取得できます。

次のコードではキー用の変数をk、値用の変数をvとして別々に取得しています。

d = {"a": 10, "b": 20, "c": 30}

for k, v in d.items():
	print(k)
	print(v)

# 実行結果
a
10
b
20
c
30
Python