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.
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!