파이썬 딕셔너리 get() 메서드 완벽 가이드|오류 처리와 활용 예

1. Python 딕셔너리 자료형(dict)의 기본

Python의 딕셔너리 자료형(dict)은 키-값 쌍으로 구성된 데이터 구조로, 리스트나 튜플과 달리 키를 사용해 특정 데이터에 효율적으로 접근할 수 있습니다. 이 구조는 예를 들어 상품이나 사용자 정보를 관리할 때 등 다양한 상황에서 사용됩니다。

딕셔너리의 기본적인 사용법

딕셔너리를 생성하려면, 중괄호 {} 안에 키와 값의 쌍을 쉼표로 구분해 작성합니다。
my_dict = {"apple": 100, "banana": 200, "orange": 150}
이처럼 “apple”이라는 키에는 100이라는 값이 대응됩니다. 딕셔너리에 포함된 요소에 접근할 때는 다음과 같이 키를 지정해 접근할 수 있습니다。
print(my_dict["apple"])  # 결과: 100

[]를 사용한 키 접근

딕셔너리에서 키를 지정해 값을 가져올 때, 키가 존재하지 않으면KeyError가 발생합니다。
print(my_dict["grape"])  # KeyError: 'grape'
이러한 오류가 발생하면 프로그램이 중단되므로, 예외 처리가 필요합니다。

2. get 메서드의 기본

get 메서드는, 키가 존재하지 않는 경우에 KeyError를 발생시키지 않고, None이나 지정한 기본값을 반환하는 편리한 메서드입니다. 이를 통해 오류를 회피하고 안전하게 처리를 수행할 수 있습니다.

get 메서드의 사용법

get 메서드를 사용하면, 지정한 키가 존재하면 해당 값이 반환되고, 존재하지 않으면 None이 반환됩니다.
my_dict = {"apple": 100, "banana": 200, "orange": 150}

# 존재하는 키인 경우
print(my_dict.get("apple"))  # 100

# 존재하지 않는 키인 경우
print(my_dict.get("grape"))  # None

기본값 설정

get 메서드에서는, 키가 존재하지 않을 때 반환할 기본값을 지정할 수 있습니다. 이를 통해 프로그램의 동작이 유연해집니다.
print(my_dict.get("grape", 0))  # 결과: 0
기본값을 설정하면 프로그램이 중단되지 않고, 예기치 않은 동작도 방지할 수 있습니다.
年収訴求

3. get 메서드와 [] 접근의 차이

get 메서드와 [] 접근의 주요 차이는 예외 처리의 여부입니다. []는 키가 존재하지 않으면 KeyError를 발생시키는 반면, getNone 또는 지정한 기본값을 반환합니다。

예외 처리의 차이

다음 예에서는、[]get 메서드를 사용했을 때의 차이를 보여 줍니다。
my_dict = {"apple": 100, "banana": 200}

# []를 사용한 접근
try:
    print(my_dict["grape"])
except KeyError:
    print("키가 존재하지 않습니다")

# get 메서드를 사용한 접근
print(my_dict.get("grape", "키가 존재하지 않습니다"))
[] 접근에서는 예외 처리가 필요하지만, get 메서드를 사용하면 간결하게 처리할 수 있습니다. 또한, get은 한 번의 접근으로 끝나므로 성능도 향상됩니다。

4. get 메서드의 활용 예

get 메서드는 특히 실무에서 유용하게 쓸 수 있는 경우가 많습니다. 예를 들어 API 응답이나 사용자 입력을 처리할 때 KeyError 발생을 방지하면서 안전하게 데이터를 가져올 수 있습니다。

API 응답 처리

API로부터의 응답에서 존재하지 않는 키에 접근했을 때도 안전하게 처리를 계속할 수 있습니다。
response = {"status": "success", "data": {"name": "Alice"}}

email = response.get("data", {}).get("email", "이메일 주소가 등록되어 있지 않습니다")
print(email)  # 결과: 이메일 주소가 등록되어 있지 않습니다
이처럼 중첩된 딕셔너리에 대해서도get 메서드를 활용하면 코드의 안전성과 가독성을 유지할 수 있습니다。

딕셔너리 초기화와 집계

항목별 집계나 딕셔너리 초기화에도get 메서드는 유용합니다。
counts = {}
items = ["apple", "banana", "apple", "orange"]

for item in items:
    counts[item] = counts.get(item, 0) + 1

print(counts)  # {'apple': 2, 'banana': 1, 'orange': 1}
이 예에서는 존재하지 않는 키에 대해0을 반환함으로써 항목의 초기 카운트가 이루어집니다. 이를 통해 간결한 코드로 카운트 처리를 구현할 수 있습니다。
年収訴求

5. 정리

Python의get메서드는 딕셔너리 자료형을 다룰 때 오류 처리를 단순화하고, 효율적인 프로그램 작성을 가능하게 하는 중요한 도구입니다. 특히 외부 데이터나 사용자 입력을 처리할 때는 KeyError를 피하면서 기본값을 사용할 수 있어 실무에서 매우 유용합니다. get메서드의 편의성을 활용하여 오류에 강한 코드를 작성하고, 유연하고 효율적인 Python 프로그램을 구현해 봅시다。
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール