class Mystack: def __init__(self): self.li = [] def push(self, item): self.li.append(item) def pop(self): if not self.is_empty(): return self.li.pop() else: return None # 스택이 비어있을 때 pop 시도시 None 반환 def peek(self): if not self.is_empty(): return self.li[-1] else: return None # 스택이 비어있을 때 peek 시도시 None 반환 def is_empty(self): return len(self.li) == 0 # Mystack 클래스의 인스턴스 생성 stack_instance = Mystack() # 1부터 5까지의 값을 스택에 push for i in range(1, 6): stack_instance.push(i) # 스택이 비어있지 않은 동안, 값을 출력하고 pop while not stack_instance.is_empty(): print(stack_instance.peek()) stack_instance.pop() |
1. 객체를 stack_instance 로만들어주었다. 1~5를 stack_instance.push(i)매서드를 사용해서 값을 넣어주었다.(후입선출)
즉 stack_instance 객체 안 self.li = []에는 1,2,3,4,5 값이 들어가있다.( append () 매서드는 중요하니 외워두자)
2. while문을 사용해서 객체값이 비어있지않으면 맨위의값 즉 5값을 출력한다. 그후에 pop() 매서드를 이용해서 맨위의값을 삭제한다.(후입선출)
3. 5번 반복하게되고 출력값은 세로로54321 이 나오게된다.
'(혼) (공) (파)' 카테고리의 다른 글
파이썬 컬렉션- 함수사용 (0) | 2024.01.11 |
---|---|
파이썬 - 컬렉션(함수+메서드) (0) | 2024.01.11 |
파이썬 - 컬렉션 (0) | 2024.01.11 |