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 |