딕셔너리 자료형은 파이썬 객체를 저장할 수 있는 해시 테이블을 지원합니다.
해시 테이블이란
Key + Vlaue
형태로 저장되는 자료구조를 의미합니다.
port로 예를 들어 설명하자면 예약된 각 포트는 특정 서비스를 지원합니다.
일반적으로 웹 서비스를 위해선 80번 포트, FTP를 위해선 21번 포트가 예약되어 있습니다.
이를 표현하기 위해 port라는 변수에 해시테이블 형태로 저장한다면,
port = [('ftp' : 21), ('http' : 80)]
가 되겠지요.
변수 검색 시 키 값인 ftp를 조회하면 21번 포트를 사용한다는 것을 쉽게 조회할 수 있습니다.
리스트와의 가장 큰 차이점은 인덱스가 아닌 키 값으로 각 요소들을 조회한 다는 것입니다.
아래는 딕셔너리 자료형의 주요 메소드와 리턴 값입니다.
메소드 | 리턴 값 |
딕셔너리변수.keys() | 변수 내 모든 키 값 출력 (LIST형태 저장가능) |
딕셔너리변수.values() | 변수 내 모든 벨류 값 출력 (LIST형태 저장가능) |
딕셔너리변수.items() | 변수 내 모든 키+값 쌍 출력 (LIST형태 저장가능) |
딕셔너리변수.has_key(키값) | 변수 내 해당 키 값의 존재여부 (True / False) |
딕셔너리변수[키값] | 해당 키 값에 해당하는 value값 조회 (에러O) |
딕셔너리변수.get(키값) | 해당 키 값에 해당하는 value값 조회 (에러X) |
딕셔너리변수[키값] = vlaue값 | 변수 내 키+value값 추가 |
del 딕셔너리변수[키값] | 변수 내 키+value값 삭제 |
>>> services = {'ftp':21, 'ssh':22, 'smtp':25, 'http':80} >>> print services {'ftp': 21, 'smtp': 25, 'ssh': 22, 'http': 80}
// 요소 조회 >>> services.keys() ['ftp', 'smtp', 'ssh', 'http']
>>> services.items() [('ftp', 21), ('smtp', 25), ('ssh', 22), ('http', 80)]
>>> services.has_key('ftp') True
// 요소 조회 get() VS ['key'] : 에러메세지 출력 여부 >>> services['ftp'] 21
>>> services.get('ftp') 21
>>> services.get('???') >>> services['???'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: '???'
// 딕셔너리 요소 추가 및 삭제 >>> services['https']=443 >>> print services {'ftp': 21, 'https': 443, 'smtp': 25, 'ssh': 22, 'http': 80}
>>> del services['https'] >>> print services {'ftp': 21, 'smtp': 25, 'ssh': 22, 'http': 80}
// KEY를 LIST형태로 저장 >>> servicesList = services.keys() >>> print servicesList ['ftp', 'https', 'smtp', 'ssh', 'http'] |
'Python > Basic' 카테고리의 다른 글
[Python-Basic] 예외 처리(Except) (0) | 2014.09.16 |
---|---|
[Python-Basic] Network Socket (0) | 2014.09.16 |
[Python-basic] 주요 리스트 메소드 (0) | 2014.09.16 |
[Python-basic] 주요 문자열 메소드 (0) | 2014.09.16 |
[Python-basic] 변수 (0) | 2014.09.15 |