Heim  >  Artikel  >  Backend-Entwicklung  >  Gibt es einen Stack in Python?

Gibt es einen Stack in Python?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-06-13 17:44:144232Durchsuche

Im englischen Wörterbuch bedeutet „Stapel“, dass ein Objekt auf einem anderen Objekt platziert wird. Die Art und Weise, wie Speicher in dieser Datenstruktur zugewiesen wird, ist dieselbe. Es speichert Datenelemente ähnlich wie ein Stapel Geschirr in der Küche: eines über dem anderen. Daher können die Daten am Ende des Stapels, die Operationen ermöglichen, als oberster Punkt des Stapels bezeichnet werden. Elemente können oben auf dem Stapel hinzugefügt oder einfach vom Stapel entfernt werden.

Gibt es einen Stack in Python?

In einem Stapel erscheint das letzte Element in der Reihenfolge zuerst, da es nur von der Oberseite des Stapels entfernt werden kann. Diese Funktionalität wird als Last-In-First-Out-Funktionalität (LIFO) bezeichnet. Die Operationen zum Hinzufügen und Entfernen von Elementen werden PUSH und POP genannt. Im folgenden Programm implementieren wir es als Add- und Remove-Funktionen. Deklarieren Sie zunächst eine leere Liste und verwenden Sie die Methoden append() und pop(), um Datenelemente hinzuzufügen und zu entfernen.

Auf den Stapel verschieben

class Stack:
    def __init__(self):
        self.stack = []
    def add(self, dataval):# Use list append method to add element
        if dataval not in self.stack:
            self.stack.append(dataval)
            return True
        else:
            return False# Use peek to look at the top of the stack
    def peek(self):     
        return self.stack[0]AStack = Stack()AStack.add("Mon")AStack.add("Tue")AStack.peek()print(AStack.peek())AStack.add("Wed")AStack.add("Thu")print(AStack.peek())Python

Führen Sie den obigen Beispielcode aus und erhalten Sie die folgenden Ergebnisse -

Mon
MonShell

Verwandte Empfehlungen: „Python-Video Tutorial

Stapelentfernung

kann nur Datenelemente aus dem Stapel entfernen. Nachfolgend wird ein Python-Programm implementiert, das diese Funktion erreichen kann. Die Remove-Funktion im folgenden Programm gibt das oberste Element zurück. Überprüfen Sie zunächst das oberste Element, indem Sie die Größe des Stapels berechnen, und ermitteln Sie dann mit der integrierten Methode pop() das oberste Element. Sehen Sie sich die folgende Code-Implementierung an

class Stack:
    def __init__(self):
        self.stack = []
    def add(self, dataval):# Use list append method to add element
        if dataval not in self.stack:
            self.stack.append(dataval)
            return True
        else:
            return False# Use list pop method to remove element
    def remove(self):
        if len(self.stack) <= 0:
            return ("No element in the Stack")
        else:
            return self.stack.pop()AStack = Stack()AStack.add("Mon")AStack.add("Tue")print(AStack.remove())AStack.add("Wed")AStack.add("Thu")print(AStack.remove())Python

Führen Sie den obigen Beispielcode aus und erhalten Sie die folgenden Ergebnisse

Tue
Thu

Das obige ist der detaillierte Inhalt vonGibt es einen Stack in Python?. 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