콘텐츠로 건너뛰기

파이썬에서 딕셔너리를 반복하는 방법

[

Python에서 사전(Dictionary)을 반복하는 방법

Python 사전(Dictionary) 반복 시작하기

Python에서 사전(Dictionary)은 매우 중요하고 유용한 내장 데이터 구조 중 하나입니다. 사전은 어디에나 사용되며, 언어 자체의 기본 요소입니다. 코드에서 사전을 사용하여 사전을 반복하는 여러 프로그래밍 문제를 해결할 수 있습니다. 이 튜토리얼에서는 Python에서 사전을 반복하는 방법에 대해 자세히 알아보겠습니다.

사전 반복에 대한 확실한 이해는 더 나은, 더 견고한 코드를 작성하는 데 도움이 될 것입니다. 사전 반복을 통해 몇 가지 예제를 작성하면서 진행하겠습니다.

Python 사전(Dictionary) 반복의 이해

Python에서 사전을 반복하는 여러 가지 방법이 있습니다. 다음은 사전 반복을 위한 몇 가지 방법입니다.

1. 사전 직접 순회하기

사전을 반복하는 가장 간단한 방법은 사전 객체를 직접 순회하는 것입니다. 이것은 사전의 키(key)에 대한 반복을 제공합니다.

my_dict = {"apple": 1, "orange": 2, "banana": 3}
for key in my_dict:
print(key, my_dict[key])

출력:

apple 1
orange 2
banana 3

2. .items() 메서드를 사용하여 사전 항목 순회하기

.items() 메서드를 사용하면 사전의 항목을 순회할 수 있습니다. 이 방법은 키(key)와 값(value)을 모두 액세스할 수 있는 이점이 있습니다.

my_dict = {"apple": 1, "orange": 2, "banana": 3}
for key, value in my_dict.items():
print(key, value)

출력:

apple 1
orange 2
banana 3

3. .keys() 메서드를 사용하여 사전의 키 순회하기

.keys() 메서드를 사용하면 사전의 키(key)를 반복해서 액세스할 수 있습니다.

my_dict = {"apple": 1, "orange": 2, "banana": 3}
for key in my_dict.keys():
print(key, my_dict[key])

출력:

apple 1
orange 2
banana 3

4. .values() 메서드를 사용하여 사전의 값 순회하기

.values() 메서드를 사용하면 사전의 값(value)을 반복해서 액세스할 수 있습니다.

my_dict = {"apple": 1, "orange": 2, "banana": 3}
for value in my_dict.values():
print(value)

출력:

1
2
3

사전 반복 중 값 변경하기

사전을 반복하는 동안 사전의 값을 변경해야 하는 경우 다음과 같이 할 수 있습니다.

my_dict = {"apple": 1, "orange": 2, "banana": 3}
for key in my_dict:
my_dict[key] += 1
print(my_dict)

출력:

{"apple": 2, "orange": 3, "banana": 4}

사전 반복 중 안전하게 항목 제거하기

사전을 반복하는 동안 항목을 안전하게 제거해야 하는 경우 다음과 같이 할 수 있습니다.

my_dict = {"apple": 1, "orange": 2, "banana": 3}
to_remove = []
for key in my_dict:
if my_dict[key] > 2:
to_remove.append(key)
for key in to_remove:
del my_dict[key]
print(my_dict)

출력:

{"apple": 1, "orange": 2}

for문을 사용한 사전 반복 예제들

값에 따라 항목 필터링하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
filtered_dict = {key: value for key, value in my_dict.items() if value > 1}
print(filtered_dict)

출력:

{"orange": 2, "banana": 3}

키와 값으로 계산하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
total = sum(my_dict.values())
average = total / len(my_dict)
print(total, average)

출력:

6 2.0

키와 값 교환하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
swapped_dict = {value: key for key, value in my_dict.items()}
print(swapped_dict)

출력:

{1: "apple", 2: "orange", 3: "banana"}

컴프리헨션을 사용한 사전 반복 예제들

값에 따라 항목 필터링하기 (재방문)

my_dict = {"apple": 1, "orange": 2, "banana": 3}
filtered_dict = {key: value for key, value in my_dict.items() if value > 1}
print(filtered_dict)

출력:

{"orange": 2, "banana": 3}

키와 값 교환하기 (재방문)

my_dict = {"apple": 1, "orange": 2, "banana": 3}
swapped_dict = {value: key for key, value in my_dict.items()}
print(swapped_dict)

출력:

{1: "apple", 2: "orange", 3: "banana"}

정렬된 순서로 사전 반복하기

정렬된 키 반복하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
for key in sorted(my_dict.keys()):
print(key, my_dict[key])

출력:

apple 1
banana 3
orange 2

정렬된 값 반복하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
for value in sorted(my_dict.values()):
print(value)

출력:

1
2
3

컴프리헨션을 사용한 사전 정렬하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
sorted_dict = {key: value for key, value in sorted(my_dict.items(), key=lambda x: x[1])}
print(sorted_dict)

출력:

{"apple": 1, "orange": 2, "banana": 3}

역순으로 사전 반복하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
for key in reversed(sorted(my_dict.keys())):
print(key, my_dict[key])

출력:

orange 2
banana 3
apple 1

역순으로 사전 순회하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
for key in reversed(list(my_dict.keys())):
print(key, my_dict[key])

출력:

orange 2
banana 3
apple 1

.popitem()을 사용하여 사전을 파괴적으로 반복하기

.popitem() 메서드를 사용하면 사전을 파괴적으로 반복할 수 있습니다. .popitem() 메서드는 사전에서 항목을 반복하면서 항목을 제거합니다.

my_dict = {"apple": 1, "orange": 2, "banana": 3}
while my_dict:
key, value = my_dict.popitem()
print(key, value)

출력:

banana 3
orange 2
apple 1

기본 함수를 사용하여 암묵적으로 사전 반복하기

기본 함수(map(), filter())를 사용하면 사전을 암묵적으로 반복하는 것이 가능합니다.

.map()을 사용하여 사전 항목에 변환 적용하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
new_dict = dict(map(lambda x: (x[0], x[1] * 2), my_dict.items()))
print(new_dict)

출력:

{"apple": 2, "orange": 4, "banana": 6}

.filter()를 사용하여 사전 항목 필터링하기

my_dict = {"apple": 1, "orange": 2, "banana": 3}
filtered_dict = dict(filter(lambda x: x[1] > 1, my_dict.items()))
print(filtered_dict)

출력:

{"orange": 2, "banana": 3}

여러 개의 사전을 하나로 순환하기

ChainMap을 사용하여 여러 개의 사전 순환하기

from collections import ChainMap
dict1 = {"apple": 1, "orange": 2}
dict2 = {"banana": 3, "kiwi": 4}
combined_dict = ChainMap(dict1, dict2)
for key, value in combined_dict.items():
print(key, value)

출력:

banana 3
kiwi 4
apple 1
orange 2

chain()을 사용하여 여러 개의 사전 순환하기

from itertools import chain
dict1 = {"apple": 1, "orange": 2}
dict2 = {"banana": 3, "kiwi": 4}
combined_dict = chain(dict1.items(), dict2.items())
for key, value in combined_dict:
print(key, value)

출력:

apple 1
orange 2
banana 3
kiwi 4

병합된 사전을 반복하기: 언패킹 연산자 (**)

dict1 = {"apple": 1, "orange": 2}
dict2 = {"banana": 3, "kiwi": 4}
merged_dict = {**dict1, **dict2}
for key, value in merged_dict.items():
print(key, value)

출력:

apple 1
orange 2
banana 3
kiwi 4

요약

이 튜토리얼에서는 Python에서 사전을 반복하는 다양한 기법을 알아보았습니다. 사전 반복은 Python 프로그래밍에서 매우 유용하며, 응용 프로그램에서 필수적인 기능입니다. 사전 반복에 대한 지식을 확실히 습득하면 더 뛰어난 코드를 작성할 수 있고, 더 견고한 애플리케이션을 개발할 수 있습니다.

사전 반복에 대한 이해를 바탕으로 여러분은 더 복잡한 프로그래밍 문제를 해결하는 방법을 익힐 수 있으며, 기존 코드에 적용할 수 있는 다양한 반복 기술을 익힐 수 있습니다. 사전 반복은 Python 개발자에게 필수적인 기술이며 언어의 핵심 기능 중 하나입니다.