[Python-basic] 주요 딕셔너리 메소드

2014. 9. 16. 16:19 - Song's IT

딕셔너리 자료형은 파이썬 객체를 저장할 수 있는 해시 테이블을 지원합니다.

해시 테이블이란

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

다른 카테고리의 글 목록

Python/Basic 카테고리의 포스트를 톺아봅니다