今回は、Pythonの辞書オブジェクトdictの要素を、for文でループ処理する方法について解説していきます。
keys() 各要素のキーをforループ処理
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ループ処理
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ループ処理
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の辞書オブジェクトdictの要素を、for文でループ処理する方法についてまとめると、
- キーのループ処理をする場合は、keys() メソッドを使用します。
- 値のループ処理をする場合は、values() メソッドを使用します。
- キーと値をセットでループ処理する場合は、items() メソッドを使用します。