728x90
반응형
collections.deque
파이썬에서 queue를 이용할때 사용한다.
list를 이용하면 add 연산에 O(n) 만큼의 시간이 들기 때문에 deque를 사용해야함.
데이터가 오른쪽으로 추가되고 왼쪽으로 나가는 형태
q = collections.deque()
q.append() # 오른쪽으로 더하기
q.popleft() # 왼쪽으로 값 빼기
q.appendleft() # 왼쪽으로 추가
q.pop() # 오른쪽으로 빼기
q.extend() # 오른쪽으로 값 추가 (각요소를 잘라서 넣어줌)
deque(['a','b','c']).extend('defg')
→ ['a','b','c','d','e','f','g']
append로 넣으면 'defg'로 들어가짐
q.rotate(n)
n만큼 요소들을 회전시켜준다.
n<0 : 왼쪽
n>0 : 오른쪽
덱/큐 활용하는 문제
1. 맨 위의 요소를 맨 뒤로 이동시킨다. → deque() 사용
2. 리스트에서 요소를 왼쪽으로 k번, 오른쪽으로 k번 이동시킨다. → deque().rotate() 사용
반응형
'Python > 라이브러리' 카테고리의 다른 글
파이썬(python) 라이브러리 - string (0) | 2021.05.18 |
---|---|
파이썬(python) 라이브러리 - heapq (0) | 2021.05.07 |
파이썬(python) 라이브러리 - bisect (이진탐색, 바이너리 서치, Binary Search) (0) | 2021.04.21 |
파이썬(python) 라이브러리 - collections.Counter (0) | 2021.04.21 |
파이썬(python) 유용한 표준 라이브러리 (0) | 2021.04.21 |