파이썬 사전 자료형(dictionary)
어휴 이 '사전 자료형' 이란 것이 구문이 좀 이상하게 생겨먹어서 종종 틀려먹게 된다.
사전 자료형은 리스트 자료형 처럼 데이터를 저장하는데 인덱스를 이용해서 데이터를 얻는 게 아니라 'KEY'를 이용해서 '값(value)'을 얻을 수 있다. (....아직 딱히 실전에서 쓸 일이 없었다...)
1. 사전 자료형을 선언할 때에는
사전 자료형 명 = { '키' : '값' , 'KEY' : 'value' } 로 선언할 수 있는데,
>>> abc = { '신발' : '파는 마트' , '265mm신발' : 55000}
이런 형식으로 선언해서 사용한다. 근데 이 생키가 겁나게 웃긴 생키인 이유는 문자, 숫자 뿐만이 아니라 리스트도 안에 포함할 수 있다는 것이다. 거의 뭐 소라카 어머니의 마음 수준이랄까; 다 품어주신다.
>>> abc = { '신발' : '파는 마트' , '265mm신발' : 55000, ['소','라','카']}
2.
그래서 임마는 키를 통해서 값을 얻기 때문에, 순서 상관 없는 데이터를 다룰 때 유용하시단다.
>>> print abc['신발']
#=> 파는 마트
형태의 출력문이 나온다.
3.
여튼 이 쌍쌍바는 키랑 값을 쌍으로 넣어줘야하는 개쌍쌍바 같은 아인데 추가할 때에는
>>> abc['일하기']='싫다'
형식으로 추가할 수 있다.
4. 그래도 일을 하고 싶은 사람이 있을 수 있으니까 삭제해주자.
>>> del abc['일하기']
요렇게 하면 삭제 된다.
5. 요 안에 있는 key들을 가지고 올라면 key() 함수를 쓰면 돼고,
value들을 가지고 오려면 values()를 사용하면 된다.
>>> key_temp = abc.key()
>>> value_temp = abc.values()
6. 임마를 리스트로 반환할라면은
>>> list_temp = abc.items()
이렇게 사용하면 된다. 근데 왜 리스트는 list가 아니냐
8. 임마 안에 있는 것들을 리스트의 인덱스 a[0] 처럼 가지고 오고 싶다면
사전자료형명.get(키) 하면 된다.
>>> abc.get('신발')
>>> abc['신발']
형식으로 값을 가지고 올 수 있다.
9. 전부 삭제하고 싶다. 빡친다 하면
>>> abc.clear()
를 하도록 하자.
10. 삭제 후, get과 []의 차이가 있는데,
>>> abc.get('신발')
>>> abc['신발']
를 처리 했을 때 get은 None 이란 결과 값을 주고, [] 는 에러 구문을 띄운다.
11. 그리고 제일 중요한 것은 해당하는 키가 있는지 검색해보는 것인데,
'키이름' in 사전자료형명
으로 검색할 수 있다. 있으면 True를 없으면 False를 준다.
>>> '신발' in abc
사전 자료형 끗-