Python 딕셔너리 반복이란?
이 글에서는 Python 3.x에서 딕셔너리(dictionary)를 반복(iteration)하고 순회(traversal)하는 다양한 방법을 알아봅니다.
딕셔너리는 키(key)와 값(value) 쌍으로 이루어진 자료구조입니다. 키는 불변(immutable) 타입이라면 문자열, 숫자, 튜플 등 어떤 것이든 사용할 수 있으며, 딕셔너리는 중괄호({}) 안에 정의합니다.
참고로 딕셔너리는 중복된 키를 허용하지 않습니다. 동일한 키가 여러 번 정의되면 마지막에 정의된 값만 남습니다. 아래 예제에서도 중복 키가 제거된 상태로 순회가 진행됩니다.
방법 1 – 딕셔너리를 이터러블로 직접 사용하기
for 루프에 딕셔너리를 직접 넣으면 기본적으로 키(key)가 하나씩 반환됩니다.
예제
dict_inp = {'t':'u','t':'o','r':'i','a':'l','s':'p','o':'i','n':'t'}
# 딕셔너리 순회
for value in dict_inp:
print(value, end='')출력 결과
trason
출력된 'trason'은 중복이 제거된 딕셔너리의 키들이 삽입 순서대로 나열된 결과입니다.
방법 2 – values()로 값만 순회하기
values() 메서드를 사용하면 딕셔너리의 값(value)만 순서대로 가져올 수 있습니다.
예제
dict_inp = {'t':'u','t':'o','r':'i','a':'l','s':'p','o':'i','n':'t'}
# 값만 순회
for value in dict_inp.values():
print(value, end='')출력 결과
oilpit
방법 3 – 키를 인덱스처럼 활용하기
키를 이용해 딕셔너리 요소에 직접 접근하면 해당 값을 얻을 수 있습니다. 방법 1에서 얻은 키로 값을 조회하는 방식입니다.
예제
dict_inp = {'t':'u','t':'o','r':'i','a':'l','s':'p','o':'i','n':'t'}
# 키로 값 조회
for value in dict_inp:
print(dict_inp[value], end='')출력 결과
oilpit
방법 4 – items()로 키와 값 동시에 순회하기
items() 메서드를 사용하면 키와 값을 한 번에 가져올 수 있어, 두 요소를 모두 활용해야 할 때 가장 효율적입니다.
예제
dict_inp = {'t':'u','t':'o','r':'i','a':'l','s':'p','o':'i','n':'t'}
# 키와 값을 함께 순회
for value, char in dict_inp.items():
print(value, ":", char, end=" ")출력 결과
t : o r : i a : l s : p o : i n : t
마무리
지금까지 Python에서 딕셔너리를 반복하는 네 가지 방법을 살펴봤습니다.
- 딕셔너리를 직접 순회하면 키가 반환됩니다.
- values()는 값만, keys()는 키만 명시적으로 가져올 때 유용합니다.
- items()를 사용하면 키와 값을 동시에 처리할 수 있습니다.
상황에 맞는 방법을 선택하면 딕셔너리 순회 코드를 더 깔끔하고 효율적으로 작성할 수 있습니다.