Notice
Recent Posts
Recent Comments
Link
매일 매일 미라클 코딩
유용한 파이썬 문법 - 자료구조형 Data Type (딕셔너리) 본문
딕셔너리 타입은 JSON과 같은 {key: value} 구조를 갖고 있다.
set 처럼 중괄호를 사용하기 때문에 빈 set 이나 dictionary 를 선언할 때 헷갈릴 수 있다.
중괄호만 쓰면 일단 dict 타입이고, set 타입을 선언하려면 set() 을 사용한다.
a={} #dictionary 타입
b=set() #set을 확실히하려면 이렇게 선언
print(a,type(a))
print(b, type(b))
# 결과
# {} <class 'dict'>
# set() <class 'set'>
dict 타입의 기본 활용
JSON 처럼 key 와 value 값을 가진다.
s={'홍길동','홍길동','임꺽정','장길산'}
info ={'홍길동':'활빈당','임꺽정':'의적','장길산':'광대'}
print(s,type(s)) #결과: {'홍길동', '장길산', '임꺽정'} <class 'set'>
print(info,type(info)) #결과: {'홍길동': '활빈당', '임꺽정': '의적', '장길산': '광대'} <class 'dict'>
print(info['홍길동']) #결과: 활빈당
dict 내용바꾸기
info['임꺽정']='군산'
print(info)
결과:
{'홍길동': '활빈당', '임꺽정': '군산', '장길산': '광대'}
이처럼 키에 해당하는 값을 직접 생성하고 추가할 수 있다. 한 개의 key 에 여러 value 도 가능(물론 배열로).
a = dict()
a["key"] = "값" #값 생성 ⇒ a = {"key": "값"}
a["key"].append("은") # 값 추가 ⇒ {"key" : ["값","은"] }
#pop으로 꺼낼수도 있다
a["key"].pop() = "은"
삭제와 대입
del info['임꺽정']
print(info) #결과: {'홍길동': '활빈당', '장길산': '광대'}
r = info['장길산'] #장길산에 해당하는 value '광대' 대입
print(r) # 결과: 광대
info.clear() # 모두삭제
딕셔너리 타입도 코딩테스트에서 본인 재량에 맞게 활용하면 아주 유용할 것 같다.
출발지와 도착지 개념처럼 배열의 원소를 연관성에 따라 정리할 때 유용하다.
혹은 Counter 함수를 사용하면 배열을 dictionary 타입으로 정리해 주는데,
딕셔너리 타입끼리 연산도 가능하여 일치 하지 않는 정보를 찾아낼 수도 있다.
'알고리즘 > PYTHON' 카테고리의 다른 글
유용한 파이썬 문법 - 자료구조형 Data Type (튜플/셋) (0) | 2021.04.22 |
---|---|
유용한 파이썬 문법 - 자료구조형 Data Type(리스트) (0) | 2021.04.22 |
유용한 파이썬 문법 - 문자열 (0) | 2021.04.22 |
알고리즘 with 파이썬 (7) - BFS 너비 우선 탐색 개념 (0) | 2021.04.06 |
알고리즘 with 파이썬 (6) - DFS 깊이 우선 탐색 개념 (0) | 2021.04.05 |