Python

python - deque

ash silver 2022. 3. 26. 18:57

deque : 양방향 큐

 

deque에 데이터 추가

-> deq.append(데이터) : 오른쪽 끝에 데이터 삽입

-> deq.appendleft(데이터) : 왼쪽 끝에 데이터 삽입

from collections import deque
deq = deque()
deq.append(1)
print(deq)				#deque([1])
deq.append(2)
print(deq)				#deque([1, 2])
deq.appendleft(3)
print(deq)				#deque([3, 1, 2])
deq.appendleft(4)
print(deq)				#deque([4, 3, 1, 2])

deque의 데이터 삭제

-> deque.pop() : 오른쪽 끝 데이터 삭제 및 반환

-> deque.popleft() : 왼쪽 끝 데이터 삭제 및 반환

from collections import deque
deq = deque()
deq.append(1)
print(deq)
deq.append(2)
print(deq)
deq.appendleft(3)
print(deq)
deq.appendleft(4)
print(deq)

deq.pop()
print(deq)			#deque([4, 3, 1])
deq.popleft()
print(deq)			#deque([3, 1])

모든 원소 지우기

-> deq.clear()

from collections import deque
deq = deque()
deq.append(1)
print(deq)
deq.append(2)
print(deq)
deq.appendleft(3)
print(deq)
deq.appendleft(4)
print(deq)

deq.pop()
print(deq)
deq.popleft()
print(deq)

deq.clear()
print(deq)			#deque([])

deq 사이즈

->len(deq)

from collections import deque
deq = deque()
deq.append(1)
print(deq)
deq.append(2)
print(deq)
deq.appendleft(3)
print(deq)
deq.appendleft(4)
print(deq)

deq.pop()
print(deq)
deq.popleft()
print(deq)

print(len(deq))		#2