Python2/정리

defaultdict 사용법

고수트 2019. 2. 7. 17:48
반응형

collections 모듈 아래 defaultdict 은 접근하는 키가 존재하지 않는 경우 오류 가 아닌 지정해준 데이터 타입의 기본값을 가지는 키를 생성한다.

str 을 적어줄 경우에는 기본값을  ''으로,

int를 적어줄 경우에는 0으로 호출된다. 

함수를 적어줄 경우 원하는 값으로 지정도 가능하다.

유동적인 사전을 이용하고 싶을 때 유용하다.

ex1) str 인 경우

from collections import defaultdict

a = defaultdict(str)

print(a)

print(a['t'])

a['t2'] = 'tt'

print(a)

>

defaultdict(<class 'str'>, {})

defaultdict(<class 'str'>, {'t': '', 't2': 'tt'})


ex2) int 인 경우

from collections import defaultdict


b = defaultdict(int)

print(b)

print(b['t'])

b['t2'] = 'tt'

print(b)

>

defaultdict(<class 'int'>, {})

0

defaultdict(<class 'int'>, {'t': 0, 't2': 'tt'})


ex3) 함수인 경우

from collections import defaultdict


def d():

    return 1

c = defaultdict(d)

print(c['t'])

print(c)

1

defaultdict(<function d at 0x10ba18e18>, {'t': 1})


좋은 기능!

반응형