파이썬 딕셔너리(Dictionary)
천둥상어
·2023. 12. 12. 23:41
"딕셔너리는 키(key)와 값(value)의 쌍으로 이루어진 데이터 구조입니다.
자바스크립트의 객체(Object)와 유사합니다.
키와 값을 매핑하여 데이타를 처리 할 수 있어 자료의 접근이나 용도를 쉽게 알 수 있습니다."
딕셔너리 생성
파이썬에서 딕셔너리는 중괄호 { } 를 사용하여 만들수 있습니다.
키(key)와 값(value)은 콜론( : ) 으로 연결 합니다.
{ 'key' : value }
빈 값으로 생성도 가능합니다.
dict = {}
여러 요소를 넣을때는 콤마( , )로 구분하여 넣어줍니다.
dict = {
'firstName' : 'Gil-Dong' ,
'lastName' : 'Hong',
'age' : 22,
'country' : 'Korea'
}
딕셔너리 요소 접근
딕셔너리 요소를 불러오는 방법은 다음과 같습니다.
딕서너리명['요소명']
아래 코드에서는 홍길동의 나이를 가져옵니다.
print(dict['age']) # 22
만약 접근하려는 요소값이 없다면 기본값을 리턴 처리 할 수도 있습니다.
# 특정 키 값을 가져오고, 없으면 기본값 반환
getAge = dict.get('age', 10)
print(getAge) #22
위 코드에서 dict 딕셔너리에 age 요소가 없다면 22가 아니 10을 getAge에 반환합니다.
딕셔너리 요소 수정
딕서녀리 요소위 수정은 접근해서 값을 대입해 주면 됩니다.
홍길동의 나이를 25로 바꿔 봅니다.
dict['age'] = 25
print(dict['age']) # 25
딕셔너리 요소 추가
요소 추가는 새로운 키값에 값을 매핑해주면 됩니다.
홍길동의 정보에 성별을 추가 해봅니다.
dict['gender'] = 'mail'
print(dict)
# {'firstName': 'Gil-Dong', 'lastName': 'Hong', 'age': 22, 'country': 'Korean', 'gender': 'mail'}
딕셔너리 삭제
요소 삭제는 파이썬 내장 함수 del를 통해서 삭제합니다.
위에서 추가했던 성별을 제거해 봅니다.
del dict['gender']
print(dict) # {'firstName': 'Gil-Dong', 'lastName': 'Hong', 'age': 22, 'country': 'Korean'}
모든 요소 삭제는 딕셔너리 함수인 clear()를 호출하면 됩니다.
dict.clear()
print(dict) #{}
딕셔너리 순환
개발을 하다 보면 요소 하나 하나 접근하여 처리하기 보다는 반복문을 사용하여 순환하며 처리하는 경우가 많습니다.
아래 코드는 키와 값을 매칭하여 출력합니다.
for key, value in dict.items():
print(f'{key}: {value}')
#firstName: Gil-Dong
#lastName: Hong
#age: 22
#country: Korean
#gender: mail
반복문을 사용하지 않고 딕셔너리 함수로 필요한 데이타를 쉽게 가져 올 수도 있습니다.
#키 목록 가져오기
key = dict.keys()
print(key) #dict_keys(['firstName', 'lastName', 'age', 'country', 'gender'])
#값 목록 가져오기
value = dict.values()
print(value) #dict_values(['Gil-Dong', 'Hong', 22, 'Korean', 'mail'])
마무리
딕셔너리는 다른 언어에서도 유사한 개념으로 있는 타입이라 크게 어려운건 없습니다.
개인적으로는 마침표( . )를 통한 접근이 안되서 조금 불편하긴 합니다. (dict.age 와 같은 문법은 허용하지 않습니다.)
'프로그래밍 > Python 기초' 카테고리의 다른 글
파이썬 클래스(Class) (0) | 2023.12.20 |
---|---|
파이썬 예외 처리(Exception) 코드의 안정성을 높이는 방법 (0) | 2023.12.14 |
파이썬 설치와 VSC 인터프리터 설정 (2) | 2023.12.09 |
파이썬 리스트(List) #2 길이 확인, 요소 순회 및 처리 (1) | 2023.12.04 |
파이썬 리스트(List) #1 생성, 접근, 추가, 삭제 (1) | 2023.12.03 |