Dictionary에 key를 확인하는 다양한 방법을 알아보고,
없을 경우 default 값으로 지정하는 방법에 대해 알아 보겠습니다.
0. 샘플딕셔너리 생성하기
우선 샘플 딕셔너리를 생성하도록하겠습니다.
dic = {‘red’:5, ‘blue’:3, ‘green’:’’}
print(dic)
1. key 를 리스트로 확인하기
dic.keys()
key_list = list(dic.keys())
print(key_list)
if ‘balck’ in key_list:
print(True)
else:
print(False)
if ‘black’ not in key_list:
print(False)
리스트로 변환하지 않고 단순히 dic.keys() 로 실행하면 dict_keys 객체 결과값이 나온다. 따라서 리스트로 변환하여 활용하는 경우가 많다.
If문을 활용하여 리스트안에 해당하는 값이 있는지 없는지 확인할 수 있으나, list가 클 경우에는 효율적이지 못하다.
2. get 함수로 키가 있는지 없는지 확인하기
print(dic.get(‘red’)) # 5
print(dic.get(‘black’)) # None
get 함수를 이용하여 조금 더 효율적으로 확인해보자. Get함수를 사용하면 key 가 없을 경우 None 값을 반환한다.
3. key 가 없을 경우 기본값으로 dictionary에 생성하기
dic[‘black’] = dic.get(‘black’,0)
이렇게 처리를 해주면 새로운 key를 default값으로 생성할 수 있다. 이 구문을 반복적으로 사용한다면 함수를 생성하여 사용하는것이 더 효율적이다.
def check_n_create_key(dic, key, default=0):
val = dic.get(key,0)
if val:
pass
else :
dic[key] = default
return dic
dic = check_n_create_key(dic, ‘red’)
print(dic) # {‘red’:5 , ‘blue’:3, ‘green’:’’}
dic = check_n_create_key(dic, ‘black’)
print(dic) # {‘red’:5 , ‘blue’:3, ‘green’:’’, ‘black’:0}
반응형
'IT > Python' 카테고리의 다른 글
Python으로 cx_Oracle 실행 시 파라미터 전달하기 - Bind Variable (0) | 2024.04.23 |
---|---|
[Python] Mac 에서 아나콘다 활용방법 - 가상환경 생성, 필요한 라이브러리 설치 (0) | 2022.09.01 |
[Python] 흔한 파이썬 리스트 복사 오류 , 제대로 파이썬 리스트 복사하기 (0) | 2022.08.30 |
[python] 특정 문자 위치 찾기, 특정 문자 개수 찾기 (0) | 2022.08.29 |
[Python] 파이썬 문자와 숫자 형식의 저장방식 차이 ( 문자열 인덱싱, 입력, 출력) (0) | 2022.08.11 |