딕셔너리 자료형은 아래와 같이 사용할 수 있습니다.
>>> dic = {} >>> dic[ 'dictionary' ] = '1. A reference book containing an ...' >>> dic[ 'python' ] = 'Any of various nonvenomous snakes of the ...' >>> dic[ 'dictionary' ] '1. A reference book containing an ...' |
포켓용 사전을 만들어 볼까요?
>>> smalldic = { 'dictionary' : 'reference' , 'python' : 'snake' } >>> smalldic[ 'python' ] 'snake' >>> smalldic { 'dictionary' : 'reference' , 'python' : 'snake' } |
좀 더 깔끔해졌죠? 유심히 보시면 아까와는 조금 다른 방법으로 딕셔너리를 만들었다는 것도 아실 수 있겠지요?
이와 같이 딕셔너리 자료형은 키(key)와 값(value)의 쌍으로 이루어진답니다.
문자열, 리스트, 튜플은 숫자로 된 인덱스를 이용해 값을 조회하는데, 딕셔너리는 키를 이용한다는 것이 큰 차이점이죠. 또, 딕셔너리 자료형은 해싱(hashing) 기법을 이용하기 때문에 자료가 순서대로 저장되지 않는다고 하네요.
딕셔너리 자료형을 만들고, 원소를 추가하는 방법은 위에서 보신 대로이구요, 원소를 삭제할 땐 이렇게 하시면 됩니다.
>>> del smalldic[ 'dictionary' ] |
삭제가 잘 되었는지 한번 확인해 보세요.
이번에는 family
라는 딕셔너리를 만들어 볼게요.
>>> family = { 'mom' : 'Kim' , 'dad' : 'Choi' , 'baby' : 'Choi' } >>> family { 'mom' : 'Kim' , 'dad' : 'Choi' , 'baby' : 'Choi' } |
family
의 키들을 얻으려면 딕셔너리 이름 뒤에 .keys()
를 쓰면 됩니다.
>>> family.keys() dict_keys([ 'mom' , 'dad' , 'baby' ]) |
family
의 값들을 얻으려면 딕셔너리 이름 뒤에 .values()
를 쓰면 됩니다.
>>> family.values() dict_values([ 'Kim' , 'Choi' , 'Choi' ]) |
family
의 원소(키/값 쌍)들을 얻으려면 이름 뒤에 .items()
를 쓰면 됩니다.
>>> family.items() dict_items([( 'mom' , 'Kim' ), ( 'dad' , 'Choi' ), ( 'baby' , 'Choi' )]) |
딕셔너리에 어떤 키가 있는지 없는지는 in
을 써서 알아볼 수 있습니다. 있으면 True, 없으면 False라고 대답해주죠.
>>> 'dad' in family True >>> 'sister' in family False |