파이썬 딕셔너리(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 와 같은 문법은 허용하지 않습니다.)

 

반응형