Python - 딕셔너리 (Dictionary)

Language/Python 2016.12.31 16:32 posted by TechNote.kr


딕셔너리(Dictionary)는 한마디로 정의하자면 key와 value로 정의되는 구조체이다. 


예를 들어 아래와 같은 문장을 딕셔너리 형태의 자료형으로 표현해 이해해 보도록 하자.


과일이 사과가 한개, 바나나는 두개, 수박은 3개가 있다.

fruit = {'apple' : 1, 'banana' : 2, 'watermelon' : 3} 



사과가 몇개있는지 알아보려면

print fruit['apple']


바나나가 몇개있는지 알아보려면

print fruit['banana']


수박이 몇개있는지 알아보려면

print fruit['watermelon']


을 해보면 된다. 기존 일반적인 배열을 사용할 때 보다 좀 더 직관적으로 코딩이 가능하다.


{}

empty dictionary 는 위와 같이 중괄호를 감싸서 표현한다.


{'apple' : 1}


dictionary의 기본적 표현은 위와 같고, 'apple' 을 key, 1 을 value 라고 한다.



fruit['apple'] = 2 : fruit dictionary 내 'apple' key의 value에 2를 할당한다.


key는 고정값으로 숫자와 문자로 표현이 가능한 반면 한번 정해지면 수정이 불가능하다. 따라서 key 수정과 같은 효과를 내기 위해서는 해당 {key, value} pair를 삭제하고 새로 생성해주어야 한다.


반면 value는 아래와 같이 assign(할당)을 통해 수정이 가능하다.



위 결과에서 인지하였겠지만 단순히 'apple'의 value를 2로 바꾸었는데 dictionary 내부의 값들의 순서가 바뀌었다. dictionary 는 내부값들에 대해 순서를 가지고 있지 않다. "unordered" set이다.



fruit.keys() : fruit dictionary가 가지고 있는 key들을 리스트 형태로 보여준다.




del fruit['apple'] : fruit 내 'apple' key를 삭제한다.




'banana' in fruit : 'banana' key가 fruit dictionary 내 존재 여부를 출력한다.




저작자 표시 비영리 변경 금지
신고