Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 for 루프로 딕셔너리(사전)를 반복하는 방법

파이썬(Python)에서 딕셔너리 자체는 반복 가능한(iterable) 객체가 아닙니다. 하지만 items(), keys(), values() 메서드는 반복 가능한 뷰(view) 객체를 반환하기 때문에, 이들을 활용하면 딕셔너리의 내용을 손쉽게 순회할 수 있습니다.

items() 메서드로 키와 값 함께 출력하기

items() 메서드는 키와 값이 하나의 쌍으로 묶인 튜플(tuple)들의 목록을 반환합니다. 이를 for 루프와 함께 사용하면 다음과 같습니다.

>>> d1 = {'name': 'Ravi', 'age': 23, 'marks': 56}
>>> for t in d1.items():
    print(t)

('name', 'Ravi')
('age', 23)
('marks', 56)

키와 값을 각각의 변수에 할당하기

각 튜플에서 키(key)와 값(value)을 분리하여 두 개의 변수에 저장한 후 순회할 수도 있습니다. 파이썬의 언패킹(unpacking) 기능을 활용한 방식으로, 실무에서 가장 널리 사용되는 패턴입니다.

>>> d1 = {'name': 'Ravi', 'age': 23, 'marks': 56}
>>> for k, v in d1.items():
    print(k, v)

name Ravi
age 23
marks 56

keys() 메서드로 키를 순회하고 값 가져오기

keys() 메서드가 반환하는 반복 가능한 객체를 사용하면 각 키를 순회하면서, 해당 키와 연관된 값을 get() 메서드로 가져올 수 있습니다.

>>> for k in d1.keys():
    print(k, d1.get(k))

name Ravi
age 23
marks 56

참고: values() 메서드

키 없이 값만 필요한 경우에는 values() 메서드를 사용하는 것이 가장 간결합니다.

>>> for v in d1.values():
    print(v)

Ravi
23
56

정리하면, 딕셔너리 순회에는 상황에 따라 세 가지 메서드를 선택할 수 있습니다. 키와 값을 모두 다룰 때는 items(), 키만 다룰 때는 keys(), 값만 다룰 때는 values()를 사용하는 것이 바람직합니다.