맛동산

파이썬 자료형_딕셔너리 본문

파이썬/기초

파이썬 자료형_딕셔너리

오지고지리고알파고포켓몬고 2016. 10. 6. 15:51

딕셔너리는 키(key)와 값(value) 쌍 형태로, dic = {'honey':'꿀', 'germany':'독일'}과 같은 형태로 나타냄

이건 JSON과 비슷한 형태를 띄고있는데, 딕셔너리 = 사전. 말 그대로 honey라는 key를 찾으면 꿀이라는 value가 나옴.

dic['honey'] -> ''

 

 

dic['korea']='한국'과 같은 형태로 쌍을 추가할 수 있음

->{'honey':'꿀', 'germany':'독일', 'korea':'한국'}

 

 

동일한 key가 중복되면 하나를 제외한 나머지는 무시됨.

dic = {'hi':'안녕','hi':'곤니치와'}에서 dic['hi']를 호출하면 뭐가 나올지 예측할 수 없음.

앞에 있는게 먼저 나오는 그런게 아니라고함.

 

 

a={1:'하나'}, b={(1,2,3):'하나, 둘, 셋'}처럼 key로 정수, 튜플이 사용 가능(호출방법은 동일함 a[1], b[(1,2,3)])

하지만 리스트 자료형은 key로 사용할 수 없다고 함. key에는 변하지 않는 값만 사용 가능한 것이 이유라고 하는데 튜플은 변하지 않는다고 쳐도 숫자나 문자도 변할 수 있는값 아닌가?

 

 

딕셔너리 관련 함수로 여러가지가 있는데 keys()와 get()는 자주 사용하게 될 것 같음.

 

dic.keys()를 한다면 dic의 key값을 dict_keys(['honey','germany','korea'])의 형태로 반환함.

list(a.keys())의 형태로 리스트 자료형으로 형변환이 가능하고 for i in a.keys():같은 형태로 반복문에 사용 가능함.

 

get()함수는 존재하지 않는 key로 값을 찾는경우 None을 리턴하는 차이가 있음.

dic.get('python') -> None

dic['python'] -> 오류발생

프로그램이 중간에 오류로 멈추는것을 바라지 않는다면 get()사용을 습관화 하는게 좋을것같음

 

이밖에 'python' in dic로 dic안에 python이라는 key가 있는지 조사할 수 있음.(True 또는 False 리턴)

'파이썬 > 기초' 카테고리의 다른 글

파이썬 제어문_IF문  (0) 2016.10.06
파이썬 자료형_집합 자료형  (0) 2016.10.06
파이썬 자료형_튜플  (0) 2016.10.03
파이썬 자료형_리스트  (0) 2016.10.03
파이썬 자료형_문자열3(문자열 포매팅)  (0) 2016.09.28
Comments