Python 辞書 forループ処理(keys, values, items)使い方を解説!

Python 辞書 forループ処理(keys, values, items)使い方

今回は、Pythonの辞書オブジェクトdictの要素を、for文でループ処理する方法について解説していきます。

目次

keys() 各要素のキーをforループ処理

python プログラミング イメージ画像

keys() 各要素のキーをforループ処理

keys()メソッドは、dict_keysクラスを返します。

辞書のキーをループ処理するkeys()メソッドの書き方は

for 変数 in dict 型変数.keys():
    繰り返したい処理①
    繰り返したい処理②


(例1)

a = {'key1': 1, 'key2': 2, 'key3': 3}

for k in a.keys():
    print(k)
# 実行結果:
key1
key2
key3

リストにしたい場合は、list()関数でリスト化します。

(例2)

a = {'key1': 1, 'key2': 2, 'key3': 3}

keys = a.keys()
  print(keys)
# 実行結果:
dict_keys(['key1', 'key2', 'key3'])

  print(type(keys))
# 実行結果:
<class 'dict_keys'>

k_list = list(a.keys())
  print(k_list)
# 実行結果:
['key1', 'key2', 'key3']

  print(type(k_list))
# 実行結果:
<class 'list'>

values() 各要素のキーをforループ処理

python プログラミング イメージ画像

values() 各要素のキーをforループ処理

各要素のvalueに対して、forループ処理を行う場合、values()メソッドを使います。
values()メソッドは、dict_valuesクラスを返します。

辞書で値をループ処理する、values()メソッドの書き方は

for 変数 in dict 型変数 .values():
    繰り返したい処理①
    繰り返したい処理②

(例3)

a = {'key1': 1, 'key2': 2, 'key3': 3}

for v in a.values():
    print(v)
# 実行結果:
1
2
3

リストにする場合、list()関数でリスト化します。

(例4)

a = {'key1': 1, 'key2': 2, 'key3': 3}

for v in a.values():
values = a.values()
  print(values)
# 実行結果:
dict_values([1, 2, 3])

  print(type(values))
# 実行結果:
<class 'dict_values'>

v_list = list(d.values())
  print(v_list)
# 実行結果:
[1, 2, 3]

  print(type(v_list))
# 実行結果:
<class 'list'>

items() 各要素のキーと値にforループ処理

python プログラミング イメージ画像

items() 各要素のキーと値にforループ処理

各要素のキーとvalueに対し、forループ処理を行う場合、items()メソッドを使います。
items()メソッドはdict_itemsクラスを返します。

キーと値をセットでループ処理する、items()メソッドの書き方は

for 変数 in dict 型変数 .items():
    繰り返したい処理①
    繰り返したい処理②

(例5)

a = {'key1': 1, 'key2': 2, 'key3': 3}

for k, v in a.items():
    print(k, v)
# 実行結果:
key1 1
key2 2
key3 3

(key, value)のタプルとして受け取ることも可能です。

(例6)

a = {'key1': 1, 'key2': 2, 'key3': 3}

for t in a.items():
    print(t)
    print(type(t))
    print(t[0])
    print(t[1])
    print('---')
# 実行結果:
('key1', 1)
<class 'tuple'>
key1
1
—
('key2', 2)
<class 'tuple'>
key2
2
—
('key3', 3)
<class 'tuple'>
key3
3
---

リストにする場合、list()関数でリスト化します。

(例7)

a = {'key1': 1, 'key2': 2, 'key3': 3}

items = a.items()
  print(items)
# 実行結果:
dict_items([('key1', 1), ('key2', 2), ('key3', 3)])

  print(type(items))
# 実行結果:
<class 'dict_items'>

i_list = list(a.items())
  print(i_list)
# 実行結果:
[('key1', 1), ('key2', 2), ('key3', 3)]

  print(type(i_list))
# 実行結果:
<class 'list'>

  print(i_list[0])
# 実行結果:
('key1', 1)

  print(type(i_list[0]))
# 実行結果:
<class 'tuple'>

まとめ

python プログラミング イメージ画像

まとめ

Pythonの辞書オブジェクトdictの要素を、for文でループ処理する方法についてまとめると、

  • キーのループ処理をする場合は、keys() メソッドを使用します。
  • 値のループ処理をする場合は、values() メソッドを使用します。
  • キーと値をセットでループ処理する場合は、items() メソッドを使用します。
よかったらシェアしてください!
目次