[파이썬] 딕셔너리의 값 필터링

딕셔너리는 파이썬에서 매우 유용한 데이터 구조입니다. 딕셔너리는 키-값 쌍으로 구성되어 있으며, 특정 키에 해당하는 값을 검색하거나 필요한 정보를 추출하는 데 사용됩니다.

하지만 때때로, 딕셔너리의 값 중에서 특정 조건에 맞는 값들만을 추출하고 싶을 수 있습니다. 이러한 경우, 딕셔너리의 값 필터링을 수행할 수 있습니다.

파이썬에서 딕셔너리의 값 필터링을 수행하는 방법에 대해 알아보겠습니다.

1. 조건문을 사용한 값 필터링

가장 기본적인 방법은 조건문을 사용하여 필터링하는 것입니다. 이 방법은 간단하고 직관적입니다. 아래 코드는 딕셔너리의 값 중에서 50 이상인 값을 필터링하는 예시입니다.

data = {
    "apple": 60,
    "banana": 40,
    "orange": 70,
    "grape": 30
}

filtered_data = {k: v for k, v in data.items() if v >= 50}
print(filtered_data)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

{'apple': 60, 'orange': 70}

2. filter() 함수를 사용한 값 필터링

파이썬 내장 함수인 filter()를 사용하여 값 필터링을 할 수도 있습니다. filter() 함수는 첫 번째 인자로 주어진 함수를 통해 두 번째 인자로 주어진 iterable에서 특정 조건에 맞는 요소를 추출합니다.

아래 코드는 filter() 함수를 사용하여 딕셔너리의 값 중에서 50 이상인 값을 필터링하는 예시입니다.

data = {
    "apple": 60,
    "banana": 40,
    "orange": 70,
    "grape": 30
}

filtered_data = dict(filter(lambda item: item[1] >= 50, data.items()))
print(filtered_data)

위 코드를 실행하면 동일한 결과가 출력됩니다.

3. 리스트 컴프리헨션을 사용한 값 필터링

리스트 컴프리헨션은 파이썬에서 많이 사용되는 강력한 기능 중 하나입니다. 리스트 컴프리헨션은 다른 iterable 객체에서 원하는 값들로 구성된 리스트를 생성하는 한 줄의 코드를 작성할 수 있게 해줍니다.

아래 코드는 리스트 컴프리헨션을 사용하여 딕셔너리의 값 중에서 50 이상인 값을 필터링하는 예시입니다.

data = {
    "apple": 60,
    "banana": 40,
    "orange": 70,
    "grape": 30
}

filtered_data = {k: v for k, v in data.items() if v >= 50}
print(filtered_data)

위 코드 예시에서 이미 사용한 내용이므로 동일한 결과가 출력됩니다.

결론

파이썬에서 딕셔너리의 값 필터링을 위해 조건문, filter() 함수, 리스트 컴프리헨션을 사용할 수 있습니다. 이를 통해 특정 조건에 맞는 값을 추출하는 등 딕셔너리의 값들을 유용하게 활용할 수 있습니다.