collections

BaeBae·2022년 4월 1일
0

파이썬 기초

목록 보기
17/21
post-thumbnail

< collections란? >

  • 유용한 자료구조를 제공하는 표준 라이브러리
  • 코딩 테스트에서 유용하게 사용되는 클래스는 deque와 Counter이다

< deque >

  • 별도로 제공되는 Queue 라이브러리가 있지만 일반적인 큐 자료구조를 구현하는 라이브러리가 아니라 deque를 통해 큐를 구현해야 함
  • 리스트 자료형과 다르게 인덱싱, 슬라이싱 등의 기능은 사용할수 없으나 연속적으로 나열된 데이터의 시작 부분이나 끝부분에 데이터를 삽입하거나 삭제할 때 매우 효과적
  • 스택이냐 큐의 기능을 모두 포함한다고도 볼 수 있어 스택 혹은 큐 자료구조의 대용으로 사용될 수 있음
  1. 원소 제거
  • popleft(): 첫 번째 원소를 제거할 때
  • pop(): 마지막 원소를 제거할 때

  1. 원소 삽입
  • appendleft(x): 첫 번째 인덱스에 원소 x를 삽입할 때
  • append(x): 마지막 인덱스에 원소 x를 삽입할 때

  1. 큐와 스택 사용 방법
  • 큐 자료구조로 사용시 append와 popleft 사용
  • 스택 자료구조로 사용시 append와 pop 사용
from collections import deque

data = deque([2, 3, 4])
data.appendleft(1)
data.append(5)

print(data)
print(list(data)) # 리스트 자료형으로 변환

< Counter >

  • 등장 횟수를 세는 기능을 제공
  • iterable 객체가 주어졌을 때 해당 객체 내부의 원소가 몇 번씩 등장했는지 알려줌
  • 원소별 등장 횟수를 세는 기능이 필요할 때 짧은 소스코드로 이를 구현
from collections import Counter

counter = Counter(['red', 'blue', 'red', 'green', 'blue', 'blue'])

print(counter['blue'])   # 'blue'가 등장한 횟수 출력
print(counter['green'])  # 'green'이 등장한 횟수 출력
print(dict(counter))      # 사전 자료형으로 변환

profile
Data가 좋은 Web 개발자

0개의 댓글