728x90
728x90
딕셔너리에서 값을 찾을 때 특정 Key가 있는지 없는지 확인하기 위해 아래와 같은 코드를 이용하곤 한다.
data = {'이름': '홍길동', '나이': 14}
if '주소' in data:
print(data['주소'])
else:
print("존재하지 않습니다!")
Or
data = {'이름': '홍길동', '나이': 14}
try:
print(data['주소'])
except:
print("존재하지 않습니다!")
이렇게 코드를 작성하다보면 코드가 엄청 길어지기 때문에 가독성이 떨어질 가능성이 높아진다.
이 때 있는지 없는지 단순히 확인하고 싶을 때 아래와 같이 사용할 수 있다.
1. .get(찾는 key값, 없으면 return 값) 함수 사용 : 값 저장 X
get함수를 사용하면 data['이름']과 같이 데이터를 가져올 수 있는데,
만약 Key값이 존재하지 않는다면, 뒤에 있는 값을 출력하게 된다.
이 때 '주소'값에 대해서 새로 값을 저장하는 등이 Action을 취하지는 않는다.
data = {'이름': '홍길동', '나이': 14}
# 있으면 data['이름']이 출력되고 없으면 '존재하지 않습니다.'가 출력됨
print(data.get('이름', '존재하지 않습니다'))
# 있으면 data['주소']이 출력되고 없으면 '존재하지 않습니다.'가 출력됨
print(data.get('주소', '존재하지 않습니다'))
2 .setdefault(찾는 key값, 기본 값) 함수 사용 : key값이 없다면 기본 값을 저장
그렇지만 Key값이 없다면 데이터에 기본값을 설정해놓고 후에 변경을 원할 수도 있다.
이 때 사용할 수 있는 것이 바로 '.setdefault'이다.
data = {'이름': '홍길동', '나이': 14}
# 딕셔너리에 해당 Key가 없다면 지정값으로 저장해주고 싶을 때
print(data.setdefault('주소', '존재하지 않습니다.'))
data의 출력값을 보면 새로 '주소'라는 값을 할당해준 것을 알 수 있다!
이렇게 해서 딕셔너리에서 if문과 try-except을 사용하지 않고 값을 할당해주거나 예외처리하는 방법에 대해서 알아보았습니다~
728x90
'CODING > Python' 카테고리의 다른 글
[Python/모듈] 폴더 내 사용한 패키지 간략 추출하기 / 파이썬 패키지 간략하게 뽑기 / pipreqs (0) | 2023.07.25 |
---|---|
Pandas 2.0 : 더욱 빨라진 pandas / 결측치 처리 형 변환 없이! (1) (0) | 2023.07.03 |
[Python] 함수 실행 시간 구하기 / 데코레이터(@)를 사용한 함수 수행 시간 구하기 (0) | 2023.05.12 |
[Python/graphs] plotly.express 에서 그래프 크기 조절하기/plotly figure size 조절 (0) | 2023.05.11 |
[Python/pandas] 판다스 지수표현 없애기 /판다스 소수점 출력 조절하기 / 데이터 프레임 소수점 출력 형식 바꾸기 (0) | 2023.05.10 |
댓글