PYTHON

파이썬(스택,pop,enumerate,큐)

Positive_Monster 2022. 4. 2. 19:19
더보기

▣ 주요 키워드

  1. 스택(Stack)
    • pop()
  2. enumerate()
  3. 큐(Queue)

★ 스택(stack)

스택(stack)
- 데이터를 임시로 저장할 때 사용하는 자료형
- LIFO(Last In First Out) : 가장 나중에 입력한 데이터를 가장 먼저 꺼낸다(삭제)
- push, pop
# pop() : 마지막에 들어온 값, 맨 끝 값 제거(추출)

stack이라는 변수에 값을 추가하는 push함수, 값을 제거하는 pop()함수, stack변수에 어떤 값이 있는지 확인하는 check함수 구현

stack = []

# stack 변수 체크
def check():
    if len(stack) == 0:
        print('stack 변수에 값이 없습니다.')
    else:
        print('stack 변수에 값이 {}개 있습니다.{}'.format(len(stack),stack))

check()

# 값 추가
def push(arg):
    stack.append(arg)
    print('stack변수에 {}이 추가되었습니다'.format(arg))

push(100)
push(200)
push(300)

# 값 제거
def pop():
    x = stack.pop()
    print('stack변수에 {}이 제거되었습니다.'.format(x))

pop()

※ enumerate()

# enumerate() : 리스트, 튜플에서 인덱스, 값을 반환하는 함수

stack = [100,200,300,400]

enumerate(stack) # 값들이 담긴 객체로 반환

for i in enumerate(stack):
    print(i)

for i,j in enumerate(stack):
    print('{}번 인덱스 값은 : {}'.format(i,j))

★ 큐(Queue)

 Queue(큐)
- FIFO(First In First Out) : 가장 먼저 입력한 데이터를 가장 먼저 꺼내는 작업, 선입선출
- 입력 enqueue, 꺼내는 작업 dequeue
queue = []
def enqueue(arg):
    queue.append(arg)
    print('{} 값이 추가'.format(arg))
    
def dequeue():
    print('{} 값 제거'.format(queue[0]))
    del queue[0]

def check():
    for i in enumerate(queue):
        print(i)
check()
enqueue(100)    
enqueue(200)    
enqueue(300)    
check()
dequeue()
check()