Heim >Backend-Entwicklung >Python-Tutorial >Was bedeutet Python-Stack?

Was bedeutet Python-Stack?

藏色散人
藏色散人Original
2019-06-24 11:07:547889Durchsuche

Was bedeutet Python-Stack?

Was bedeutet Python-Stack?

Der Stapel ist eine spezielle Liste. Die Elemente im Stapel können nur Der Zugriff erfolgt über ein Ende der Liste, das als oberstes Ende des Stapels bezeichnet wird. Der Stapel wird als Last-In-First-Out-Datenstruktur (LIFO, Last-In-First-Out) bezeichnet.

Da der Stapel die Last-In-First-Out-Eigenschaft aufweist, kann auf Elemente, die sich nicht ganz oben im Stapel befinden, nicht zugegriffen werden. Um das Element ganz unten im Stapel zu erhalten, muss zunächst das darüber liegende Element entfernt werden.

Die beiden Hauptoperationen auf dem Stapel bestehen darin, ein Element auf den Stapel zu schieben und ein Element vom Stapel zu entfernen. Verwenden Sie die Methode push(), um auf den Stapel zu drücken, und die Methode pop(), um aus dem Stapel herauszuspringen.

Ein weiterer häufig verwendeter Vorgang ist die Vorschau des Elements oben im 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 Methode peek() 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 in den Stapel geschoben wird, erhöht sich die Variable. Wenn ein Element vom Stapel entfernt wird, verringert sich die Variable.

push(), pop() und peek() sind die drei Hauptmethoden des Stapels, aber der Stapel verfügt über andere Methoden und Eigenschaften.

Übliche Stapeloperationen:

Stack()    建立一个空的栈对象
push()     把一个元素添加到栈的最顶层
pop()      删除栈最顶层的元素,并返回这个元素
peek()     返回最顶层的元素,并不删除它
isEmpty()  判断栈是否为空
size()     返回栈中元素的个数

Einfache Fall- und Operationsergebnisse:

Hier verwenden wir die Python-Listenimplementierung des Objektsimulationsstapels:

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)

Erstellen Sie ein Stapelobjekt und fügen Sie eine Operationsmethode hinzu:

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 vonWas bedeutet Python-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