[플레이데이터 빅데이터 부트캠프]Python 매핑형 타입

매핑형 타입

매핑형 타입은 key 값으로 자료를 불러오는 '딕셔너리'가 대표적이다.

매핑형 타입은 key를 직접 정의할 수 있다.

장점 

  • 데이터 저장 및 읽기 속도가 빠르다.
  • 키에 대한 중복이 있는지 확인하기 쉽다.

단점 

  • 다른 자료구조보다 저장공간이 더 필요하다.
  • 여러 키에 해당하는 주소가 동일한 경우 충돌이 발생할 수 있다.

딕셔너리 생성 : 

dic = {} #빈 딕셔너리 만들기
dic['key'] = '안녕안녕'
dic['key'] = '안녕안녕'
dic['game'] = '스타크래프트'
dic['cafe'] = '이디야'
dic['동'] = '소사본동'

dic
{'key': '안녕안녕', 'game': '스타크래프트', 'cafe': '이디야', '동': '소사본동'}

딕셔너리 키 추가 제거 : 

del dic['game']
#dic.pop('key') #pop함수를 경로해서 해당 키를 삭제한다.
dic
{'key': '안녕안녕', 'cafe':'이디야', '동':'소사본동'}

딕셔너리 내 특정 키 찾기:

dic.get()

dic.get('key1')

dic.get('key1', '없습니다')
'없습니다'

dic.get() 메소드를 사용하여, 키값에 해당하는 값을 출력할 수 있다.

특정키가 없으면, 에러가 나지 않고 출력되지 않는다.

 

dic.setdefault()

dic.setdefault('key1', '자전거타기')
'자전거타기'

dic.setdefault('key1', '요리')
'자전거타기'

dic.setdefault() 메소드를 사용하면, 특정 키값이 없으면, 따로 입력해 넣을 수 있다.

 

딕셔너리의 키와 벨류 리스트 출력할 때:

dic.keys()
dict_keys(['key', 'cafe', '동'])

dic.values()

dic.values()
dict_values(['안녕안녕', '이디야', '소사본동'])

dic.items()

dic.items()
dict_items([('key', '안녕안녕'), ('cafe', '이디야'), ('동', '소사본동')])

 

딕셔너리 안에 특정 값이 있는지 boolean 값으로 알아 볼 수 있다.

print("key" in dic)
True

print("key123" in dic)
False