파이썬의 딕셔너리(dictionary)는 key와 value를 쌍으로 가지는 자료형입니다.
key를 활용하여 value를 가져올 수 있는 방법이 있는데 그 방법들을 한번 소개해보려 합니다.
1. key를 활용하여 dict[key]로 접근
가장 쉽게 접하는 방식입니다. key를 통해 직접 접근하는 방식입니다.
이 방식의 단점은 존재하지 않는 key에 대해서는 KeyError 에러를 발생시킨다는 것입니다.
예를 들면 이런 식입니다.
2. get 함수 활용
get(key, default=None) 함수는 위와 같은 경우의 단점을 보완합니다.
get 함수를 활용하면 key가 존재하지 않는 경우에 대해서 에러를 발생시키지 않고, None 혹은 지정한 default 값을 반환합니다.
아래의 이미지와 같이 활용할 수 있습니다.
3. setdefault 함수 활용
setdefault(key, default=None) 함수는 key가 존재하면 해당 value를 반환하고, get() 함수와는 달리 key에 대하여 지정한 default 값을 value로 갱신한 후에 해당 값을 반환합니다.
print를 하면서 get 함수와 setdefault 함수를 비교해보면 아래와 같습니다.
a.get(4, -1)을 호출하면 -1을 반환하지만 a는 변하지 않았고, a.setdefault(4, -1)을 호출하면 a가 갱신되어 있습니다.
key가 존재하지 않을 때, 딕셔너리를 업데이트 하도록 구현하면 key가 존재하는 지 확인하기 위해서 한번, 딕셔너리를 업데이트하기 위해서 한번 총 2번을 검색해야 합니다.
setdefault() 함수를 활용하면 한번만 검색하기 때문에 더 효율적으로 코드를 동작시킬 수 있습니다.
'python' 카테고리의 다른 글
[PYTHON] gmail로 메일 보내기 (0) | 2021.08.06 |
---|---|
[Python] numpy와 랜덤함수 (0) | 2021.04.18 |
[Python] join 함수, filter 함수 (0) | 2020.08.10 |
[Python] python 예외처리 try, except, else, finally (2) | 2020.06.20 |
[Python] dict 정렬하기 (0) | 2020.05.27 |