Memo / Memorandum lernen
Der LIFO-Puffer (Last-In First-Out) ist ** Stack **, und der FIFO-Puffer (First-In First-Out) ist ** Queue **.
stack = []
for i in range(10):
stack.append(i)
if len(stack)>4:
print(stack.pop())
Ausführungsergebnis
4 5 6 7 8 9
queue = []
for i in range(10):
queue.append(i)
if len(queue)>4:
print(queue.pop(0))
Ausführungsergebnis
0 1 2 3 4 5
Das Implementieren einer Warteschlange als Liste ist jedoch ineffizient, da nach dem Abrufen der ersten Daten durch "pop (0)" der Rest der Daten einzeln verschoben werden muss. Verwenden Sie daher die "deque" des "collection" -Pakets. Verwenden.
from collections import deque
queue = deque([])
for i in range(10):
queue.append(i)
if len(queue)>4:
print(queue.popleft())
Ausführungsergebnis
0 1 2 3 4 5
Recommended Posts