스택은 박스 쌓기에 비유할 수 있다. 먼저 들어온 박스는 밑에서 부터 차곡차곡 쌓이게 되고, 아래에 있는 박스를 치우기 위해서는 위에 있는 박스부터 치워야한다. 이러한 구조를 선입후출(First In Last Out) 구조 또는 후입선출(Last In First Out) 구조라고 한다.
stack = []
stack.append(5) #5삽입
stack.append(2) #2삽입
stack.append(3) #3삽입
stack.append(7) #7삽입
stack.pop() #최상단 원소(7) pop
stack.append(1) #1삽입
stack.append(4) #4삽입
stack.pop() #최상단 원소(4) pop
print(stack) #최상단 원소부터 출력
print(stack[::-1]) #최하단 원소부터 출력
출력:
[5,3,2,1],
[1,2,3,5]
파이썬에서 스택을 이용할 때에는 별도의 라이브러리를 사용할 필요가 없다. 기본 리스트에서 append()와 pop()메서드를 이용하면 스택 자료구조와 동일하게 동작한다.