파이썬 스택은 무엇을 의미하나요?
스택은 특별한 종류의 목록입니다. 스택의 요소는 스택의 맨 위라고 불리는 목록의 한쪽 끝을 통해서만 액세스할 수 있습니다. 스택은 후입선출(LIFO, last-in-first-out) 데이터 구조라고 합니다.
스택은 후입선출 특성을 가지므로 스택의 맨 위에 있지 않은 요소에는 액세스할 수 없습니다. 스택의 맨 아래에 있는 요소를 가져오려면 먼저 위의 요소를 제거해야 합니다.
스택의 두 가지 주요 작업은 요소를 스택에 밀어넣는 것과 스택에서 요소를 꺼내는 것입니다. push() 메서드를 사용하여 스택에 푸시하고, pop()을 사용하여 스택에서 튀어나옵니다.
일반적으로 사용되는 또 다른 작업은 스택 위에 있는 요소를 미리 보는 것입니다. pop() 메서드는 스택 맨 위에 있는 요소에 액세스할 수 있지만 이 메서드를 호출한 후에는 스택 맨 위에 있는 요소도 스택에서 영구적으로 삭제됩니다. peek() 메서드는 스택의 최상위 요소만 삭제하지 않고 반환합니다.
스택의 최상위 요소 위치를 기록하고 새 요소가 추가될 수 있는 위치를 표시하기 위해 요소가 스택에 푸시되면 변수가 증가합니다. 스택에서 팝되면 변수가 감소합니다.
push(), pop() 및 peek()는 스택의 세 가지 주요 메서드이지만 스택에는 다른 메서드와 속성이 있습니다.
Stack 일반적인 작업:
Stack() 建立一个空的栈对象 push() 把一个元素添加到栈的最顶层 pop() 删除栈最顶层的元素,并返回这个元素 peek() 返回最顶层的元素,并不删除它 isEmpty() 判断栈是否为空 size() 返回栈中元素的个数
간단한 사례 및 작업 결과:
여기서 Python의 목록 개체를 사용하여 스택 구현을 시뮬레이션합니다.
class Stack: """模拟栈""" def __init__(self): self.items = [] def isEmpty(self): return len(self.items)==0 def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): if not self.isEmpty(): return self.items[len(self.items)-1] def size(self): return len(self.items)
스택 개체를 만들고 작업 메서드를 추가합니다.
s=Stack() print(s.isEmpty()) s.push(4) s.push('dog') print(s.peek()) s.push(True) print(s.size()) print(s.isEmpty()) s.push(8.4) print(s.pop()) print(s.pop()) print(s.size())
관련 추천: "Python Tutorial"
위 내용은 파이썬 스택은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!