Krajta

Python Queue

Python Queue

Python poskytuje mnoho vestavěných modulů, funkcí a příkazů, které programátorům pomáhají snadno provádět různé složité úkoly. Poskytuje také mnoho předdefinovaných datových struktur, jako jsou seznamy, n-tice a slovníky, které zajišťují efektivní vytváření a správu dat v aplikacích. Fronta je datová struktura, která ukládá a spravuje data. Ukládá data v pořadí první dovnitř a první ven (FIFO). Nejprve se odebere prvek, který se vloží jako první. Fungování fronty můžeme pochopit z našeho příkladu každodenního života. Je to jako fronta zákazníků; zákazník, který přijde jako první, je podporován jako první. V Pythonu můžeme frontu vytvořit následujícími způsoby:

Tento článek podrobně vysvětluje frontu Pythonu v příkladu.

Běžné operace fronty:

Existuje mnoho operací souvisejících s frontami. Jedná se však o 4 běžné operace fronty:

  1. Zařadit do fronty
  2. Dequeue
  3. Přední
  4. Zadní

Operace zařazení do fronty se provádí k přidání položky do fronty, zatímco fronta odebere položky z fronty ve stejném pořadí, v jakém byly vloženy. Přední operace navíc vrátí první a zadní operace vrátí poslední položku ve frontě.

Implementace fronty pomocí seznamu

Seznam je široce používaná integrovaná datová struktura Pythonu, která uspořádává položky v pořadí. V seznamu můžeme použít funkce append () a pop (), které slouží k vkládání a odebírání položek z fronty. Funkce append () přidá položku na konec seznamu. Funkce pop vezme index jako argument a odebere položku ze seznamu.  V seznamu můžeme ukládat položky jakéhokoli typu. Pojďme implementovat frontu pomocí seznamu Pythonu.

#vytvoření fronty pomocí seznamu
# definování seznamu
my_queue = []
# vložení položek do fronty
my_queue.připojit (1)
my_queue.připojit (2)
my_queue.připojit (3)
my_queue.připojit (4)
my_queue.připojit (5)
print ("Položky ve frontě:")
tisk (my_queue)
# odebrání položek z fronty
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
# tisk fronty po odebrání prvků
print ("Položky ve frontě:")
tisk (my_queue)

Ve výše uvedeném příkladu jsme předali index 0 funkci pop (), protože musíme odebrat první přidanou položku.

Výstup

Jak již bylo řečeno dříve, můžeme do seznamu ukládat jakýkoli typ položek, takže vytvořme frontu pomocí seznamu, který obsahuje položky heterogenního typu.

#vytvoření fronty pomocí seznamu
# definování seznamu
my_queue = []
# vložení položek do fronty
my_queue.připojit (1)
my_queue.připojit („a“)
my_queue.připojit (2)
my_queue.připojit ("b")
my_queue.připojit (3)
print ("Položky ve frontě:")
tisk (my_queue)
# odebrání položek z fronty
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
print (my_queue.pop (0))
# tisk fronty po odebrání prvků
print ("Položky ve frontě:")
tisk (my_queue)

Výstup

Implementace fronty pomocí fronty.Fronta

Fronta je vestavěný modul Pythonu, který se používá k vytváření a implementaci front. Atribut maximální velikosti inicializuje velikost fronty. Ve frontovém modulu je k dispozici mnoho funkcí. Například funkce put () přidá položku do fronty, funkce get () odebere prvek z fronty a funkce qsize () vrátí velikost fronty. Pojďme implementovat frontu pomocí modulu fronty.

#importování modulu fronty
fronta importu
#vytvoření fronty velikosti 5
my_queue = fronta.Fronta (maximální velikost = 5)
# vložení položek do fronty
my_queue.dát (1)
my_queue.dát (2)
my_queue.dát (3)
my_queue.dát (4)
my_queue.dát (5)
print ("Velikost fronty je:", my_queue.qsize ())
# odebrání položek z fronty
print (my_queue.dostat())
print (my_queue.dostat())
print (my_queue.dostat())
print (my_queue.dostat())
print ("Velikost fronty je:", my_queue.qsize ())

Výstup

Implementace fronty pomocí deque

Deque je modul třídy sbírek. Ve srovnání se seznamem deque provádí operace zařazení a vyřazení rychleji. Funkce append () a popleft () vkládají a odstraňují položky z fronty. Pojďme implementovat frontu pomocí deque.

#importování modulu sbírek
importovat sbírky
#vytvoření fronty
my_queue = sbírky.deque ()
# vložení položek do fronty
my_queue.připojit (1)
my_queue.připojit (2)
my_queue.připojit (3)
my_queue.připojit (4)
my_queue.připojit (5)
print ("Položky ve frontě jsou:")
tisk (my_queue)
# odebrání položek z fronty
print (my_queue.popleft ())
print (my_queue.popleft ())
print (my_queue.popleft ())
print (my_queue.popleft ())
print ("Položky ve frontě jsou:")
tisk (my_queue)

Výstup

Závěr

K ukládání a správě dat se používá fronta. Ukládá data v pořadí FIFO. Frontu v Pythonu lze implementovat třemi způsoby, které jsou vysvětleny v tomto článku s příklady.

Emulace kliknutí myší vznášením pomocí myši Clickless Mouse ve Windows 10
Používání myši nebo klávesnice ve špatném držení těla nadměrného používání může mít za následek mnoho zdravotních problémů, včetně napětí, syndromu ka...
Přidejte gesta myši do Windows 10 pomocí těchto bezplatných nástrojů
V posledních letech se počítače a operační systémy značně vyvinuly. Bývaly doby, kdy uživatelé museli procházet správci souborů pomocí příkazů. Stejně...
Ovládejte a spravujte pohyb myši mezi více monitory ve Windows 10
Správce myší se dvěma displeji umožňuje ovládat a konfigurovat pohyb myši mezi více monitory zpomalením jeho pohybů poblíž hranice. Windows 10/8 vám u...