Heim >Backend-Entwicklung >Python-Tutorial >Hat Python einen Stack?

Hat Python einen Stack?

藏色散人
藏色散人Original
2019-06-28 10:56:435101Durchsuche

Hat Python einen Stack?

Hat Python einen Stapel?

Python hat einen Stapel. Stapel sind eine lineare Datenstruktur, die nur durch Zugriff auf ein Ende Daten speichern und abrufen kann. Sie weist die Eigenschaften von Last In First Out (LIFO) auf.

Die beiden Hauptoperationen auf dem Stapel bestehen darin, ein Element auf den Stapel zu schieben und ein Element vom Stapel zu entfernen.

wird mit der push()-Methode in den Stapel geschoben, und wenn es aus dem Stapel herausspringt, wird die pop()

-Methode verwendet. Eine weitere häufige Operation besteht darin, eine Vorschau des darüber liegenden Elements anzuzeigen der Stapel. Obwohl die Methode pop() auf das Element oben im Stapel zugreifen kann, wird nach dem Aufruf dieser Methode auch das Element oben im Stapel dauerhaft aus dem Stapel gelöscht. Die peek()-Methode gibt nur das oberste Element des Stapels zurück, ohne es zu löschen

Um die Position des obersten Elements des Stapels aufzuzeichnen und auch zu markieren, wo neue Elemente hinzugefügt werden können, verwenden wir die Variable top. Wenn ein Element aus dem Stapel entfernt wird, erhöht sich die Variable, wenn ein Element aus dem Stapel entfernt wird, verringert sich die Variable

push(), pop() und peek() sind die drei Hauptmethoden des Stapels, aber es gibt auch andere Methoden des Stapels und Attribute

Übliche Stapeloperationen:

  Stack()   建立一个空的栈对象
  push()    把一个元素添加到栈的最顶层
  pop()     删除栈最顶层的元素,并返回这个元素
  peek()    返回最顶层的元素,并不删除它
  isEmpty() 判断栈是否为空
  size()    返回栈中元素的个数
#-*- coding:?UTF-8 -*-
__author__ = 'Administrator'
#python的list对象模拟栈的实现
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())

Verwandte Empfehlungen: „

Python-Tutorial

Das obige ist der detaillierte Inhalt vonHat Python einen Stack?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn