Language/Python

[02-6] Python - 딕셔너리 (Dictionary)

TechNote.kr 2016. 12. 31. 16:32
728x90

딕셔너리(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 내 존재 여부를 출력한다.




728x90