Python 대기열의 항목 검사
Python에서 내장 목록 데이터 구조는 다중 절차 및 다중 소비자 대기열을 구현하는 모듈이라고 합니다. 이 기사에서 우리는 Python의 내장 함수 큐를 배울 것입니다. 큐는 요소를 삽입하고 제거할 때 선입 선출(FIFO)
규칙에 따라 설정된 데이터 구조인 반면 스택에서는 이름에서 알 수 있듯이 후입 선출(LIFO)
규칙을 따릅니다.
큐에는 두 가지 종류의 작업이 있습니다.
작업에서 큐의 끝에 항목을 추가하는 절차를 인큐
라고 하고 큐의 시작 부분에서 항목이 제거되는 경우를 큐에서 제거
작업이라고 합니다. Python의 대기열은 일반적으로 내장 목록, queue
모듈의 Queue
또는 collections
모듈의 deque를 사용하여 수행됩니다.
대기열
에는 전면과 후면의 두 개의 열린 끝이 있습니다. 대기열 작업을 위해 다양한 용도로 사용되며 후면
은 항목을 삽입하는 끝이고 전면
은 제거 지점으로 사용됩니다. 앞과 뒤 끝이 포인터로 취급되지만 queue
가 비어 있으면 앞과 뒤 포인터가 모두 NULL입니다. 게다가, 우리는 빈 큐를 dequeue할 수 없으며, dequeue가 필요할 때 큐에서 사용할 수 있는 적어도 하나의 항목이 필요합니다.
아래 코드 예제에서는 대기열에 항목을 삽입하고 대기열에서 해당 항목을 하나씩 삭제하는 방법을 볼 것입니다.
Python의 큐
아래 코드 샘플에서는 대기열 항목 목록에서 항목을 추가 및 삭제하는 방법을 배웁니다. 먼저 야채 목록을 만든 다음 야채 이름을 하나씩 추가합니다. append()
기능을 사용하여 모든 항목이 추가되면 pop()
기능을 사용하여 각 항목을 하나씩 삭제합니다. 또한 목록에 삽입된 첫 번째 항목이 먼저 삭제된 것을 볼 수 있어 대기열이 선입 선출
(FIFO) 방식으로 작동함을 확인했습니다.
import queue
vegetables = []
vegetables.append("Broccoli")
vegetables.append("Potato")
vegetables.append("Carrot")
vegetables.append("Spinach")
first_item = vegetables.pop(0)
print(first_item)
Second_item = vegetables.pop(0)
print(Second_item)
print(vegetables)
출력:
Broccoli
Potato
['Carrot', 'Spinach']
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn