[모듈] defaultdict

LeeJE20·2021년 5월 13일
0

파이썬 공부

목록 보기
2/2

defaultdict

인자로 주어진 객체의 기본값을 딕셔너리값의 초기값으로 지정

int, list, set 등 가능.

import

from collection import defaultdict

defaultdict(객체) : 객체 생성

디폴트 값이 int인 딕셔너리

  • 객체 생성
int_dict = defaultdict(int)
defaultdict(<class 'int'>, {})
  • value를 주지 않았을 때 자동으로 value 지정
int_dict['key1']
0
  • value를 주면 일반 dictionary처럼 작동
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'>, {'서울': {'경기', '부산'}, '김해': {'산본'}})

0개의 댓글