Python

[Python] 파이썬 Queue(큐) 사용법 구현 예제

Let it out 2024. 5. 13. 23:21

파이썬 queue 모듈을 통해 쉽게 구현해보자.

큐는 선입선출 즉 가장 먼저 들어간 요소가 가장 먼저 삭제되는 자료구조다.
우선 queue 모듈의 사용법을 알아보자.

맨 아래에 전체 예제있다.

 

 

queue import

큐를 사용하려면 queue 모듈 임포트를 해주면된다.

import queue # 큐 모듈 임포트

 

 

Queue 객체 생성

큐 객체를 생성해주는 부분이다. Maxsize에는 큐 최대 사이즈를 적어준다.

q = queue.Queue(Maxsize)

 

큐 요소 삽입 함수

q.put(item)

 

 

큐 요소 꺼내는 함수

q.get()

 

 

큐가 비어있는지 확인하는 함수

q.empty()

 

 

큐가 가득찬 상태인지 확인 하는 함수

q.full()

 

 

 

파이썬 큐 구현 전체 코드

파이썬에 요소를 사입한 후 삭제하며 출력하는 코드다.

큐는 선입선출이니 삽입도 1 ~ 10, 삭제도 1 ~ 10 순서대로 진행되는 것을 확인 할 수 있다.

import queue

q = queue.Queue(maxsize=9)  # 큐 객체 생성(Maxsize=9)
insert = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  # 삽입할 요소
real_insert = []
print("삽입 : ", insert)

for i in insert:
    if not q.full():  # 큐에 공간이 전부 차 있지 않다면
        q.put(i)  # 큐에 요소 삽입
        real_insert.append(i) #사입은 1 ~ 10 까지지만 max size가 9이니 9개만 사입

print("실제 삽입 ", real_insert) #실제로 삽입된 요소는 1 ~ 9 까지
print("삭제 : ", end='')  # end=''적어주면 줄 바꿈 안함
while not q.empty():  # 큐에 요소가 비어있을 때까지 반복
    print(q.get(), end=' ')  # 요소 꺼내서 출력

 

결과

삽입 :  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
실제 삽입  [1, 2, 3, 4, 5, 6, 7, 8, 9]
삭제 : 1 2 3 4 5 6 7 8 9

 

실제로 삽입한것은  1 ~ 10 까지 총 10개이나

maxsize를 9로 큐 객체를 생성해 줬으니 1 ~ 9 까지 요소만 삽입되고 삭제된다.

반응형