Python 딕셔너리에 특정 값이 있는지 확인하는 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 딕셔너리에 특정 값이 포함되어 있는지 확인하는 방법을 배우게 됩니다. 랩은 딕셔너리 값에 대한 소개로 시작하여 키와 .values() 메서드를 사용하여 딕셔너리 값에 접근하는 방법을 보여줍니다. ~/project 디렉토리에 dictionary_example.py 파일을 생성하고 Python 코드를 실행하여 딕셔너리 값을 개별적으로, 그리고 컬렉션으로 출력합니다.

그런 다음, 랩에서는 values() 뷰 객체에 in 연산자를 사용하여 딕셔너리 내에 특정 값이 존재하는지 효율적으로 확인하는 방법을 안내합니다. 마지막으로, 일치하는 값을 찾기 위해 반복 (iteration) 을 사용하는 대체 접근 방식을 탐구하여 Python 딕셔너리에서 값 확인을 위한 다양한 방법에 대한 포괄적인 이해를 제공합니다.

딕셔너리 값 이해하기

이 단계에서는 Python 에서 딕셔너리 값에 대해 배우게 됩니다. 딕셔너리는 키 - 값 쌍으로 데이터를 저장하는 기본적인 데이터 구조입니다. 이러한 값에 접근하고 조작하는 방법을 이해하는 것은 딕셔너리를 효과적으로 사용하기 위해 매우 중요합니다.

먼저, 간단한 딕셔너리를 만들어 보겠습니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Print the dictionary
print(my_dict)

VS Code 편집기를 사용하여 ~/project 디렉토리에 dictionary_example.py라는 파일을 생성합니다. 위의 코드를 복사하여 파일에 붙여넣습니다.

이제 터미널에서 다음 명령을 사용하여 스크립트를 실행합니다.

python dictionary_example.py

다음과 같은 출력을 볼 수 있습니다.

{'name': 'Alice', 'age': 30, 'city': 'New York'}

딕셔너리의 값에 접근하려면 키를 사용할 수 있습니다. 예를 들어, 키 "name"과 관련된 값에 접근하려면 my_dict["name"]을 사용합니다.

dictionary_example.py 파일을 수정하여 값에 접근하고 출력해 보겠습니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Access and print the values
print(my_dict["name"])
print(my_dict["age"])
print(my_dict["city"])

dictionary_example.py에 변경 사항을 저장하고 다시 실행합니다.

python dictionary_example.py

이제 출력은 다음과 같아야 합니다.

Alice
30
New York

.values() 메서드를 사용하여 딕셔너리의 모든 값의 컬렉션을 얻을 수도 있습니다. 이 메서드는 딕셔너리의 모든 값을 표시하는 뷰 객체 (view object) 를 반환합니다.

.values() 메서드를 사용하도록 dictionary_example.py 파일을 수정합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Get the values
values = my_dict.values()

## Print the values
print(values)

dictionary_example.py에 변경 사항을 저장하고 다시 실행합니다.

python dictionary_example.py

이제 출력은 다음과 같아야 합니다.

dict_values(['Alice', 30, 'New York'])

보시다시피, .values() 메서드는 딕셔너리의 모든 값을 포함하는 뷰 객체를 반환합니다. 다음 단계에서 배우게 될 각 값에 개별적으로 접근하기 위해 이 뷰 객체를 반복 (iterate) 할 수 있습니다.

values() 에서 in 연산자 사용하기

이 단계에서는 in 연산자를 사용하여 딕셔너리 값 내에 특정 값이 존재하는지 확인하는 방법을 배우게 됩니다. in 연산자는 Python 에서 데이터를 검색하고 유효성을 검사하는 강력한 도구입니다.

이전 단계에서 계속해서 동일한 딕셔너리 my_dict를 사용해 보겠습니다. 값 "Alice"가 딕셔너리의 값에 존재하는지 확인합니다.

~/project 디렉토리의 dictionary_example.py 파일을 수정하여 다음 코드를 포함합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if "Alice" is in the values
if "Alice" in my_dict.values():
    print("Alice is in the dictionary values")
else:
    print("Alice is not in the dictionary values")

dictionary_example.py에 변경 사항을 저장하고 다시 실행합니다.

python dictionary_example.py

출력은 다음과 같아야 합니다.

Alice is in the dictionary values

이제 딕셔너리에 존재하지 않는 값, 예를 들어 "Bob"을 확인해 보겠습니다.

dictionary_example.py 파일을 수정하여 "Alice" 대신 "Bob"을 확인하도록 합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if "Bob" is in the values
if "Bob" in my_dict.values():
    print("Bob is in the dictionary values")
else:
    print("Bob is not in the dictionary values")

dictionary_example.py에 변경 사항을 저장하고 다시 실행합니다.

python dictionary_example.py

이제 출력은 다음과 같아야 합니다.

Bob is not in the dictionary values

in 연산자는 대소문자를 구분합니다. "alice" (소문자) 가 딕셔너리 값에 있는지 확인해 보겠습니다.

dictionary_example.py 파일을 수정하여 "alice"를 확인하도록 합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if "alice" is in the values
if "alice" in my_dict.values():
    print("alice is in the dictionary values")
else:
    print("alice is not in the dictionary values")

dictionary_example.py에 변경 사항을 저장하고 다시 실행합니다.

python dictionary_example.py

이제 출력은 다음과 같아야 합니다.

alice is not in the dictionary values

이것은 in 연산자가 대소문자를 구분하며 정확한 값이 발견된 경우에만 True를 반환함을 보여줍니다.

반복문을 사용하여 일치 항목 찾기

이 단계에서는 딕셔너리의 값을 반복하고 특정 기준에 따라 일치 항목을 찾는 방법을 배우게 됩니다. 이는 딕셔너리에 저장된 데이터를 처리하거나 필터링해야 할 때 흔히 사용되는 작업입니다.

이전 단계에서 계속해서 동일한 딕셔너리 my_dict를 사용해 보겠습니다. 값을 반복하고 문자열인 값만 출력합니다.

~/project 디렉토리의 dictionary_example.py 파일을 수정하여 다음 코드를 포함합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Iterate through the values
for value in my_dict.values():
    ## Check if the value is a string
    if isinstance(value, str):
        print(value)

dictionary_example.py에 변경 사항을 저장하고 다시 실행합니다.

python dictionary_example.py

출력은 다음과 같아야 합니다.

Alice
New York

이 예제에서는 for 루프를 사용하여 딕셔너리 값의 각 값을 반복했습니다. 루프 내에서 isinstance() 함수를 사용하여 값이 문자열인지 확인했습니다. 문자열인 경우 값을 출력합니다.

이제 코드를 수정하여 25 보다 큰 값을 찾아보겠습니다. 나이는 정수이므로 25 보다 큰지 확인할 수 있습니다.

dictionary_example.py 파일을 수정하여 다음 코드를 포함합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Iterate through the values
for value in my_dict.values():
    ## Check if the value is an integer and greater than 25
    if isinstance(value, int) and value > 25:
        print(value)

dictionary_example.py에 변경 사항을 저장하고 다시 실행합니다.

python dictionary_example.py

이제 출력은 다음과 같아야 합니다.

30

이것은 반복과 조건문을 결합하여 딕셔너리 값 내에서 특정 일치 항목을 찾는 방법을 보여줍니다. 필요에 따라 이 접근 방식을 다른 데이터 유형 및 기준에 맞게 조정할 수 있습니다.

요약

이 랩에서는 Python 의 딕셔너리 값에 대해 배웠습니다. 딕셔너리 값은 키 - 값 쌍으로 데이터를 저장하는 기본적인 데이터 구조입니다. 딕셔너리를 생성하고 키를 사용하여 해당 값에 접근하여 "name", "age", "city"와 관련된 값을 출력했습니다.

또한 딕셔너리의 모든 값을 포함하는 뷰 객체를 반환하는 .values() 메서드를 살펴보았습니다. 이 메서드를 활용하여 값의 컬렉션을 출력하도록 스크립트를 수정했습니다.