인자로 주어진 객체의 기본값을 딕셔너리값의 초기값으로 지정
int, list, set 등 가능.
from collection import defaultdict
defaultdict(객체)
: 객체 생성int
인 딕셔너리int_dict = defaultdict(int)
defaultdict(<class 'int'>, {})
int_dict['key1']
0
int_dict['key2'] = 3
>>> int_dict
defaultdict(<class 'int'>, {'key1': 0, 'key2': 3})
from collections import defaultdict
# 서울-> 경기 티켓은 2장 있다.
tickets = [["서울", "부산"], ["서울", "경기"], ["서울", "경기"], ["김해", "산본"]]
# ~~~ 1. 방향그래프로 만들기
directed_graph = defaultdict(list)
for key, value in tickets:
directed_graph[key].append(value)
print(directed_graph)
# defaultdict(<class 'list'>, {'서울': ['부산', '경기', '경기'], '김해': ['산본']})
# ~~~ 2. 중복 값 제거
# Directional graph without duplicates
# set을 인자로 주어 중복 값이 제거되게 한다.
digraph_no_dup = defaultdict(set)
for k, v in tickets:
digraph_no_dup[k].add(v)
print(digraph_no_dup)
# defaultdict(<class 'set'>, {'서울': {'경기', '부산'}, '김해': {'산본'}})