루프 처리를 위한 Python 사전(dict): keys(), values(), items()

사업

for 문을 사용하여 Python 사전 개체의 요소를 반복하려면 사전 개체에서 다음 메서드를 사용합니다. 이 메서드는 list()와 결합하여 사전의 모든 키 및 값 목록을 얻을 수도 있습니다.

  • keys():각 요소 키에 대한 루프 처리
  • values():각 요소 값에 대한 루프 처리
  • items():각 요소의 키와 값에 대한 루프 처리

다음 사전 개체는 예입니다.

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

for 문에서 사전 객체를 그대로 돌려 키를 얻을 수 있습니다.

for k in d:
    print(k)
# key1
# key2
# key3

keys():각 요소 키에 대한 루프 처리

위에서 언급한 것처럼 딕셔너리 객체를 for 문에서 그대로 돌려서 키를 얻을 수 있지만 keys() 메서드를 사용할 수도 있습니다.

for k in d.keys():
    print(k)
# key1
# key2
# key3

keys() 메서드는 dict_keys 클래스를 반환합니다. 목록을 만들고 싶다면 list() 함수를 사용할 수 있습니다.

keys = d.keys()
print(keys)
print(type(keys))
# dict_keys(['key1', 'key2', 'key3'])
# <class 'dict_keys'>

k_list = list(d.keys())
print(k_list)
print(type(k_list))
# ['key1', 'key2', 'key3']
# <class 'list'>

DICT_KEYS는 설정 작업을 수행할 수 있습니다.

values():각 요소 값에 대한 루프 처리

각 요소 값에 대해 for-loop 처리를 수행하려면 values() 메서드를 사용하십시오.

for v in d.values():
    print(v)
# 1
# 2
# 3

values() 메서드는 dict_values ​​클래스를 반환합니다. 목록을 만들고 싶다면 list() 함수를 사용할 수 있습니다.

values = d.values()
print(values)
print(type(values))
# dict_values([1, 2, 3])
# <class 'dict_values'>

v_list = list(d.values())
print(v_list)
print(type(v_list))
# [1, 2, 3]
# <class 'list'>

값이 겹칠 수 있으므로 dict_values의 설정 작업은 지원되지 않습니다.

items():각 요소의 키와 값에 대한 루프 처리

각 요소의 키와 값 모두에 대해 for 루프 프로세스를 수행하려면 items() 메서드를 사용합니다.

for k, v in d.items():
    print(k, v)
# key1 1
# key2 2
# key3 3

(key, value)따라서 튜플로 받을 수 있습니다.

for t in d.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
# ---

items() 메서드는 dict_items 클래스를 반환합니다. 목록을 만들고 싶다면 list() 함수를 사용할 수 있습니다. 각 요소는 튜플입니다.
(key, value)

items = d.items()
print(items)
print(type(items))
# dict_items([('key1', 1), ('key2', 2), ('key3', 3)])
# <class 'dict_items'>

i_list = list(d.items())
print(i_list)
print(type(i_list))
# [('key1', 1), ('key2', 2), ('key3', 3)]
# <class 'list'>

print(i_list[0])
print(type(i_list[0]))
# ('key1', 1)
# <class 'tuple'>

DICT_ITEMS는 집합 작업도 수행할 수 있습니다.