자바에서의 HashMap과 동일한 역할을 한다.
len(a)
요소의 개수를 리턴
a[key]
키를 조회하여 리턴
a[key] = value
딕셔너리에 키/값 삽입
key in a - 딕셔너리에 키 존재유무 확인
파이썬 3.6+ : 딕셔너리 메모리 사용량 20% 감소
파이썬 3.7+ : 딕셔너리 입력 순서 유지
활용
a = dict()
a = {}
a = {'key1':'value1' , 'key2':'value2'}
a[key3] = value3
# {'key1':'value1' , 'key2':'value2', 'key3':'value3'}
존재하지 않는 인덱스를 조회한 경우 IndexError가 발생한다.
try를 이용해 예외처리를 해준다.
try:
print(a['key4'])
except KeyError:
print('존재하지 않는 키')
'key4' in a를 활용해도된다.
딕셔너리 순회
for k,v in a.items():
print(k,v)
collections 딕셔너리 모듈
OrderDict 객체
collections.OrderedDict()
항상 입력 순서가 유지되는 딕셔너리
파이썬 3.7 부터는 내부적으로 입력순서가 유지되록 개선되어서 기본 딕셔너리만 사용해도 가능하다.
defaultdict객체
collections.defaultdict()
조회 시 항상 디폴트 값을 생성해 키 오류를 방지하는 딕셔너리
a = collections.defaultdict(int) a['A'] = 5 a['C'] += 1 #원래는 키에러가 발생하지만 default가 0을 기준으로 되있기 때문에 # {'A':5,'C':1}
Counter 객체
collections.Counter()
요소의 값을 키로 하고 개수를 값 형태로 만들어 카운팅하는 딕셔너리
a = [1,2,3,4,5,5,5,6,6]
b = collections.Counter(a)
print(b) # Counter({5: 3,6: 2,1: 1,2: 1,3: 1,4: 1}
b.most_common(2) # 가장 빈도수가 높은 요소 2개를 출력
# [(5,3),(6,2)]
'IT > Python3' 카테고리의 다른 글
파이썬 기본문법 (0) | 2021.12.10 |
---|---|
파이썬을 이용한 정렬 (0) | 2020.09.19 |
리스트 (1) | 2020.09.19 |
파이썬 is 와 == 의 차이 (0) | 2020.09.19 |
파이썬과 C++ 참조 비교 (0) | 2020.09.19 |