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

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 딕셔너리에 특정 키가 있는지 확인하는 방법을 배우게 됩니다. 키 - 값 쌍으로 데이터를 저장하는 딕셔너리는 기본적인 데이터 구조입니다.

이 랩에서는 .keys() 메서드를 사용하여 딕셔너리 키를 탐색하고, 결과 뷰 객체를 리스트로 변환하는 과정을 안내합니다. 또한, in 연산자와 get() 메서드를 사용하여 딕셔너리 내에 특정 키가 존재하는지 효율적으로 확인하는 방법을 배우게 됩니다.

딕셔너리 키 탐색

이 단계에서는 Python 에서 딕셔너리의 키에 접근하는 방법을 배우게 됩니다. 딕셔너리는 키 - 값 쌍으로 데이터를 저장하는 기본적인 데이터 구조입니다. 키를 검색하는 방법을 이해하는 것은 딕셔너리를 효과적으로 사용하기 위해 필수적입니다.

먼저, 작업할 간단한 딕셔너리를 만들어 보겠습니다. LabEx 환경에서 VS Code 편집기를 열고 ~/project 디렉토리에 dictionary_keys.py라는 새 파일을 만듭니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

이제 이 딕셔너리의 키에 접근하는 방법을 살펴보겠습니다. Python 은 이를 위해 .keys() 메서드를 제공합니다. dictionary_keys.py 파일에 다음 코드를 추가합니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = my_dict.keys()
print(keys)

파일을 저장하고 터미널에서 다음 명령을 사용하여 스크립트를 실행합니다.

python dictionary_keys.py

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

dict_keys(['name', 'age', 'city'])

출력은 딕셔너리의 모든 키 목록을 표시하는 뷰 객체인 "dict_keys" 객체를 보여줍니다.

이 뷰 객체를 리스트로 변환하려면 list() 함수를 사용할 수 있습니다. dictionary_keys.py 파일을 다음과 같이 수정합니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = list(my_dict.keys())
print(keys)

파일을 저장하고 스크립트를 다시 실행합니다.

python dictionary_keys.py

이제 출력은 키의 리스트가 됩니다.

['name', 'age', 'city']

이제 이 리스트를 반복하고 각 키에 대한 작업을 수행할 수 있습니다. 예를 들어, 각 키를 개별적으로 인쇄할 수 있습니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = list(my_dict.keys())
for key in keys:
    print(key)

파일을 저장하고 스크립트를 실행합니다.

python dictionary_keys.py

출력은 다음과 같습니다.

name
age
city

이것은 Python 에서 딕셔너리의 키에 접근하고 반복하는 방법을 보여줍니다. 이 개념을 이해하는 것은 딕셔너리에서 정보를 효과적으로 조작하고 추출하는 데 매우 중요합니다.

in 연산자 사용

이 단계에서는 in 연산자를 사용하여 딕셔너리에 키가 존재하는지 확인하는 방법을 배우게 됩니다. in 연산자는 오류를 발생시키지 않고 키의 존재 여부를 확인하는 강력한 도구입니다.

이전 단계에서 생성한 딕셔너리를 계속 사용해 보겠습니다. dictionary_keys.py 파일이 없는 경우, ~/project 디렉토리에 다음 내용으로 다시 만듭니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

이제 in 연산자를 사용하여 특정 키가 딕셔너리에 존재하는지 확인해 보겠습니다. dictionary_keys.py 파일에 다음 코드를 추가합니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

if "name" in my_dict:
    print("The key 'name' exists in the dictionary.")
else:
    print("The key 'name' does not exist in the dictionary.")

파일을 저장하고 터미널에서 다음 명령을 사용하여 스크립트를 실행합니다.

python dictionary_keys.py

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

The key 'name' exists in the dictionary.

이는 "name" 키가 딕셔너리에 존재함을 확인합니다.

이제 존재하지 않는 키를 확인해 보겠습니다. dictionary_keys.py 파일을 다음과 같이 수정합니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

if "country" in my_dict:
    print("The key 'country' exists in the dictionary.")
else:
    print("The key 'country' does not exist in the dictionary.")

파일을 저장하고 스크립트를 다시 실행합니다.

python dictionary_keys.py

출력은 다음과 같습니다.

The key 'country' does not exist in the dictionary.

이는 in 연산자를 사용하여 딕셔너리에 키의 존재 여부를 확인하는 방법을 보여줍니다. 이는 값을 접근하기 전에 키가 존재하는지 확인하는 안전하고 효율적인 방법입니다.

in 연산자는 키가 존재하면 True를 반환하고, 그렇지 않으면 False를 반환합니다. 이 부울 값은 조건문 또는 기타 논리 연산에 사용할 수 있습니다.

get() 메서드로 확인

이 단계에서는 get() 메서드를 사용하여 딕셔너리 값을 안전하게 접근하는 방법을 배우게 됩니다. get() 메서드는 키와 관련된 값을 검색하는 방법을 제공하며, 키가 존재하지 않는 경우 반환할 기본값을 지정할 수 있습니다. 이렇게 하면 KeyError 예외로 인해 프로그램이 중단되는 것을 방지할 수 있습니다.

이전 단계에서 생성한 딕셔너리를 계속 사용해 보겠습니다. dictionary_keys.py 파일이 없는 경우, ~/project 디렉토리에 다음 내용으로 다시 만듭니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

이제 get() 메서드를 사용하여 "name" 키와 관련된 값을 검색해 보겠습니다. dictionary_keys.py 파일에 다음 코드를 추가합니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

name = my_dict.get("name")
print(name)

파일을 저장하고 터미널에서 다음 명령을 사용하여 스크립트를 실행합니다.

python dictionary_keys.py

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

Alice

get() 메서드는 "name" 키와 관련된 값을 성공적으로 검색했습니다.

이제 존재하지 않는 키, 예를 들어 "country"와 관련된 값을 검색해 보겠습니다. dictionary_keys.py 파일을 다음과 같이 수정합니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

country = my_dict.get("country")
print(country)

파일을 저장하고 스크립트를 다시 실행합니다.

python dictionary_keys.py

출력은 다음과 같습니다.

None

기본적으로 get() 메서드는 키가 존재하지 않으면 None을 반환합니다. 이렇게 하면 KeyError가 발생하지 않습니다.

또한 키가 존재하지 않는 경우 반환할 기본값을 지정할 수도 있습니다. dictionary_keys.py 파일을 다음과 같이 수정합니다.

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

country = my_dict.get("country", "Unknown")
print(country)

파일을 저장하고 스크립트를 실행합니다.

python dictionary_keys.py

출력은 다음과 같습니다.

Unknown

이 경우, 딕셔너리에 "country" 키가 없으므로 get() 메서드는 우리가 지정한 기본값 "Unknown"을 반환했습니다.

get() 메서드를 사용하는 것은 딕셔너리를 사용할 때 모범 사례입니다. 키가 존재하지 않을 수 있는 경우를 적절하게 처리하여 오류를 방지하고 코드를 더욱 강력하게 만들 수 있습니다.

요약

이 랩에서는 Python 에서 딕셔너리 키에 접근하는 방법을 탐구하는 것으로 시작했습니다. 딕셔너리를 생성하고 .keys() 메서드를 사용하여 딕셔너리의 키를 포함하는 뷰 객체 (view object) 를 검색하는 방법을 배웠습니다.

그런 다음 이 뷰 객체를 list() 함수를 사용하여 리스트로 변환하는 방법을 배웠습니다. 이를 통해 키를 반복하고 각 키를 개별적으로 출력하는 것과 같은 작업을 수행할 수 있습니다.