파이썬에는 유용한 패키지들이 내장되어있다. 자주 쓰는 내장 패키지 중 하나는 collections이다.
이 패키지가 지원하는 defaultdict라는 자료구조에 대해 알아보자.
# 기존 dictionary를 사용해서, 리스트에 대한 통계를 내고 싶을 때
ls = [{'red': 5}, {'blue': 3}, {'green': 1}, {'red': 3}]
count_dict = {}
for l in ls :
for color, count in l.items() :
if color not in count_dict.keys() : # count_dict의 key 안에 아직 해당 칼라에 대한 정보가 없을 때
count_dict[color] = count # 처음 들어온 color의 count를 default int로 설정해준다.
else : # 이미 color에 대한 정보가 있을 경우
count_dict[color] += count # 기존 count 값에 새로운 count값을 더해준다.
# 이런 식으로 dictionary의 정보를 받아올 때, key에 대한 초기값이 없을 경우와 있을 경우 둘 다에 대해 고려해주어야한다.
from collections import defaultdict
# defaultdict을 사용한다면..?
count_dict = defaultdict(int) # 이 dictionary가 갖는 value의 초기값을 int인 0으로 설정
for l in ls :
for color, count in l.items() :
count_dict[color] += count # 초기값이 이미 설정되어 있기 때문에, 해당 color에 대한 값에 새로 들어온 count 값만 더해주기만 하면 된다.
'CODES' 카테고리의 다른 글
Back Propagation (역전파) (0) | 2020.03.26 |
---|---|
파이썬 class (0) | 2020.03.25 |