파이썬(python)의 defaultdict, ordereddict, namedtuple

1. defaultdict

 

사전에서 value의 기본값을 지정하여 새로 key를 생성할 때 value를 지정하지 않으면 기본값이 자동으로 들어간다

 

from collections import defaultdict로 사용할 수 있음

 

defaultdict의 사용법

단어 빈도수 계산에 유용함

 

defaultdict를 쓰지 않으면 d[word]하는 순간 에러가 나는데 try~except~로 처리해야하는 번거로움이 있다

 

하지만 defaultdict로 기본값을 미리 지정해주면 d[word]해도 에러가 안난다

 

split된 텍스트의 단어 빈도수가 계산된 모습

 

 

2. Ordereddict

 

데이터 입력한 순서대로 출력해주는 dictionary

 

요즘엔 기본 dictionary도 입력한 순서대로 출력해주므로 큰 의미없다

 

 

3. namedtuple

 

튜플 형태로 데이터 구조체(자료 구조, 이름 등)를 저장하는 자료형

 

from collections import namedtuple로 사용할 수 있다

 

namedtuple의 사용법

 

from collections import namedtuple

Point = namedtuple('Point', ['x','y'])

p = Point(x=11,y=22)

p[0],p[1]
(11,22)

p
Point(x=11,y=22)

x,y = p

print(x,y)
11 22

p.x
11

p.y
22

print(p)
Point(x=11,y=22)

 

[‘x’,’y’]에 point라는 이름을 붙임

 

사실 class랑 비슷해서 의미 있는지 모르겠다.

 

실제로 class를 더 많이 쓴다

 

다른 사람들이 보기에 자료의 이름이 있어 이해하기 쉽다는 점에서 의미있다

 

 

TAGS.

Comments