티스토리 뷰

AI/Python

[python] 모듈(collections)

brave_sol 2024. 6. 9. 21:58

[1] 모듈 Collections

- list, tuple, dict에 대한 python built-in 확장 자료 구조(모듈)

- 편의성, 실행 효율(메모리의 사용량을 줄이거나, 빠르게) 등을 사용자에게 제공함

- 아래의 모듈이 존재함

 모듈
from collections import deque

- stack과 queue를 동시에 지원, list에 비해 효율적(빠른)저장 방식 지원 
- rotate, reverse등 linked list(값과, 다음 데이터의 주소로 구성)의 특성을 지원함
- 기존 list 형태의 함수를 모두 지원함
- append(), appendleft(),extend,extendleft(왼쪽에 거꾸로 붙음), rotate(몇칸이동할지)
from collections import orderedDict dict와 달리 데이터를 입력한 순서대로 dict를 반환함
그러나 dict도 python 3.6부터 입력한 순서를 보장하여 출력
from collections import defaultdict Dict type의 값에 기본 값을 지정, 신규값 생성시 사용하는 방법
하나의 지문에 각 단어들이 몇 개나 있는지 세고 싶을 경우?
text-mining 접근법 - vector space model
defaultdict(object) # default dictionary를 생성,
defaultdict(lambda:0)  # default 값을 0으로 설정
from collections import Counter sequence type의 datat element들의 갯수르 dict 형태로 변환
Dict type, keyword parameter등도 모두 처리 가능

from collections import Counter
print(Counter("abcccdesff"))
# Counter({'c': 3, 'f': 2, 'a': 1, 'b': 1, 'd': 1, 'e': 1, 's': 1})
# type: collections.Counter

c = Counter(cats=4, dogs=8)
print(c) # Counter({'dogs': 8, 'cats': 4})
d = Counter(cats=3, dogs=2)

c.subtract(d) # set 비슷하게 연산됨 print(c-d)와 같은 값, +,&,|연산가능
print(c) # Counter({'dogs': 6, 'cats': 1})
from collections import namedtuple

* 그런데 class를 주로 씀
tuple 형태로 data 구조체를 저장하는 방법
저장되는 data의 variable을 사전에 지정해서 저장함
point = namedtuple('튜플이름', list)


from collections import namedtuple

Point = namedtuple('Point', ['x', 'y'])
p = Point(11,y= 22)
print(p) # Point(x=11, y=22)

x, y = p
print(p.x+p.y) # 33

 

 

※ 출처 : 네이버 부스트코스 - 인공지능 기초 다지기(https://www.boostcourse.org/ai100)

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함