파이썬에서 dict(딕셔너리)의 key와 value값을 얻는 방법으로는 .get()
과 [ ]
, 두 가지 방법이 있다.
a = {'name': 'banana', 'phone': '010-1234-5678', 'birth': '0122'}
a.get('name') # banana
a['name'] # banana
a.get('phone') # 010-1234-5678
a['phone'] # 010-1234-5678
위와 같이 동일한 결괏값을 리턴한다.
다만,
값을 구하려고 하는 dict에 접근하고자 하는 요소가 존재하지 않을 때에 두 기능은 다른 출력물을 보여준다.
위의 예시를 가져와서 설명해보자면,
get()
을 사용하면 해당하지 않는 값에 대해서 None을 출력하지만,
[]
는 에러가 발생한다.
a = {'name': 'banana', 'phone': '010-1234-5678', 'birth': '0122'}
a.get('gender') # None
a['gender'] # KeyError: 'gender'
이에 따라 []
와는 다르게 get()
은 추가적으로 없는 키에 관한 핸들링도 할 수 있다.
아래와 같이 get()
메서드의 두번째 인자에 해당하는 key가 없을 경우, 출력하고 싶은 값을 넣어줄 수 있다.
a = {'name': 'banana', 'phone': '010-1234-5678', 'birth': '0122'}
a.get('gender', 'whattt') # whattt
대박이에요