defaultdict()

JoyJuhee·2022년 7월 4일
0

Python

목록 보기
1/22
post-thumbnail

defaultdict() : 처음 키를 저장할때 값을 주지 않으면 해당 키에 대한 값을 디폴트 값으로 지정하는 의미이다.

1. default 값으로 list를 줬을 때

list_dict = defaultdict(list)

>>> list_dict['key1']
[] # 값을 지정하지 않으면 빈 리스트로 초기화 

>>> list_dict['key2'] = 'test' # 값을 지정하면 해당값으로 초기화

2. default 값으로 set을 줬을 때

set_dict = defaultdict(set)

>>> set_dict['key1'] 
set() # 값을 지정하지 않으면 빈 리스트로 초기화

>>>set_dict['key2']='test' # 값을 지정하면 해당값으로 초기화

📍 그러면 언제 defaultdict()를 사용하는 것이 좋을까?
키의 개수를 세야하는 상황 혹은 리스트나 셋의 항목을 정리해야하는 상황.

letters = 'youcandoit'
letters_dict = defaultdict(int)

for k in letters:
	letters_dict[k] += 1 # 키에 대한 값이 없으면 값을 0으로 초기화

print(letters_dict)

---> 출력 결과
defaultdict(<class 'int'>, {'y': 1, 'o': 2, 'u': 1, 'c': 1, 'a': 1, 'n': 1, 'd': 1, 'i': 1, 't': 1})

name_list = [('kim','sungsu'), ('kang','hodong'), ('park','jisung'),('kim','yuna'), ('park','chanho'),('kang','hodong')]

ndict = defaultdict(list)
for k,v in name_list:
	ndict[k].append(v) # 값이 리스트이기 때문에 append()를 이용해서 추가

print(ndict)

---> 출력 결과
defaultdict(<class 'list'>, {'kim': ['sungsu', 'yuna'], 'kang': ['hodong', 'hodong'], 'park': ['jisung', 'chanho']})


참고 : https://dongdongfather.tistory.com/69

0개의 댓글