스택은 가장 마지막에 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조이다.
스택의 주요 기능은 다음과 같다.
스택은 바닥에 책을 쌓는 과정과 유사하다. 때문에 push와 pop 모두 가장 위에서 일어난다. 이때 가장 마지막에 넣은 원소가 있는 위치(맨 위)를 top
이라고 부른다.
data_stack = list()
스택은 list를 사용해 구현한다. (큐도 똑같이 list를 사용하여 구현할 수 있지만, queue 모듈이 따로 존재하기 때문에 모르는 사람만 바보다!)
data_stack.append(1)
data_stack.append(2)
print(data_stack)
[1.2]
요소의 추가는 append
함수를 사용한다.
data_stack.pop()
2
list의 pop
함수를 사용하면 가장 마지막에 추가한 요소를 꺼낼 수 있다.
del data_stack[-1]
1
pop함수를 사용하지 않고 마지막 요소를 제거한다면
del 키워드를 사용해 지울 수 있다. 리스트 인덱스에 -
를 붙이게 되면 뒤에서부터 시작한다는 의미를 갖는다. 따라서 인덱스 -1은 가장 마지막 요소를 가리키게 된다.