공부중

[Python] dictionary - get() 본문

프로그래밍/파이썬 Python

[Python] dictionary - get()

복습 2024. 7. 22. 10:55
728x90

d["key"]와 d.get("key")의 차이를 알아보자.

 

딕셔너리를 아래와 같이 설정했다고 하자

person = { "first_name": "John", "last_name": "Doe", "age": 30 }

 

 

1. d["key"] 사용한경우

 

print(person["first_name"])  # 출력: John
print(person["age"])  # 출력: 30
print(person["middle_name"])  # KeyError 발생

 

키값이 존재하는 경우 출력이 나오지만, 키값이 존재하지 않는경우 Keyerror가 발생한다.

 

 

 

2. d.get("key") 사용한 경우

print(person.get("first_name"))  # 출력: John
print(person.get("age"))  # 출력: 30

print(person.get("middle_name"))  # 출력: None
print(person.get("middle_name", "N/A"))  # 출력: N/A (기본값 지정 시)

 

마찬가지로 키 값이 존재하는 경우 value 값이 나오지만 get을 사용하면 키가 없는 경우에 에러가 발생하지 않고 None를 반환한다. 또한 아래와 같이 기본값을 지정할 수도 있다.

print(employee.get("department", "Unknown"))

 

만약 키값이 존재할때 기본값을 지정한다면 기본값이 무시되고 해당 키의 실제 값이 반환된다. 기본값은 키가 존재하지 않을 때만 반환된다.

person = { "first_name": "John", "last_name": "Doe", "age": 30 }

# 키가 존재하는 경우
first_name = person.get("first_name", "N/A")
print(first_name)  # 출력: John

# 키가 존재하지 않는 경우
middle_name = person.get("middle_name", "N/A")
print(middle_name)  # 출력: N/A

 

 

 

 

 

따라서 get()을 사용하는 것이 더 안정하다.

728x90

'프로그래밍 > 파이썬 Python' 카테고리의 다른 글

[python] lamda 표현식  (0) 2024.07.29
[python] GUI - turtle  (0) 2024.07.26
[python] 리스트 컴프리헨션(List Comprehension)  (0) 2024.07.25
딕셔너리 값 입력 받기  (1) 2024.07.22
[Python] 예외처리  (0) 2024.07.19