目次
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
를 발생시키는 반면, get
은 None
또는 지정한 기본값을 반환합니다。예외 처리의 차이
다음 예에서는、[]
와 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 프로그램을 구현해 봅시다。