본문 바로가기
파이썬 스터디

[Python] stack, queue 사용하기

by MINU.SHINNNN 2024. 8. 6.

C++에서는 stack 과 queue를 include 하여 자료형을 사용하면 되었다. 

 

하지만 python에는 기본 자료형이 아닌 것 같아 어떻게 사용하는지 찾아봤다.

 

스택을 구현하는 방법은 list 자료구조나 collections 모듈의 deque 클래스를 사용하면 된다. 

 

큐의 경우 queue 모듈의 Queue 클래스 또는 deque 클래스를 사용하면 된다.

 

결론적으로, deque 를 사용하는 것이 데이터를 넣고, 뺄때 append(), pop_left(), pop() 메서드를 사용하므로 C++과 유사하여 사용하기 편리했다.

 

기억에 남고 편하게 사용할 수 있는 자료형이 deque가 될 것 같다. 

from collections import deque
from queue import Queue

'''
queue, stack을 python에서 사용할 때는 collections의 deque를 사용하는 것이 편하다.
데이터를 넣을때는 append() 메서드를, 
데이터를 뺄때는 queue, stack 각각 pop_left(), pop() 메서드를 사용하면 된다.
'''
# 스택 생성
stack = deque()
list_stack = []
queue = Queue()
queue_deque = deque()

# 요소 추가
stack.append(1)
stack.append(2)
stack.append(3)

list_stack.append(1)
list_stack.append(2)
list_stack.append(3)

# 큐 
queue.put(1)
queue.put(2)
queue_deque.append(1)
queue_deque.append(2)

# 요소 참조
print(stack)

# 요소 제거
print(stack.pop())  # 3
print(stack.pop())  # 2

print(list_stack.pop())
print(list_stack.pop())

print(queue.get())
print(queue.get())

print(queue_deque.popleft())
print(queue_deque.popleft())

'파이썬 스터디' 카테고리의 다른 글

SRT 매크로  (1) 2024.09.05
[Python] 파이썬 sorted(), 커스텀 정렬,  (0) 2024.07.18
파이썬 내장함수(built-in fn)  (0) 2024.07.08
[Python] Iterable과 Iterator  (0) 2024.07.08