Python

Python-wachtrij

Python-wachtrij

Python biedt veel ingebouwde modules, functies en instructies die de programmeurs helpen om verschillende gecompliceerde taken gemakkelijk uit te voeren. Het biedt ook veel ingebouwde gegevensstructuren zoals lijsten, tupels en woordenboeken, die zorgen voor een efficiënte creatie en beheer van gegevens in toepassingen. Een wachtrij is een gegevensstructuur waarin de gegevens worden opgeslagen en beheerd. Het slaat de gegevens op in een first-in, first-out (FIFO) volgorde. Het element dat als eerste wordt ingevoegd, wordt als eerste verwijderd. We kunnen de werking van de wachtrij begrijpen vanuit ons dagelijkse voorbeeld. Het is als een rij klanten; de klant die eerst komt wordt eerst gefaciliteerd. In Python kunnen we de wachtrij op de volgende manieren maken:

Dit artikel legt de Python Queue in detail uit met Voorbeeld.

Algemene wachtrijbewerkingen:

Er zijn veel wachtrijgerelateerde bewerkingen. Dit zijn echter de 4 veelvoorkomende wachtrijbewerkingen:

  1. in de wachtrij plaatsen
  2. uit de wachtrij halen
  3. Voorkant
  4. achter

De wachtrijbewerking wordt uitgevoerd om een ​​item aan de wachtrij toe te voegen, terwijl de wachtrij de items uit de wachtrij verwijdert in dezelfde volgorde als waarin ze zijn ingevoegd. Bovendien retourneert de bewerking aan de voorkant de eerste en de bewerking aan de achterkant het laatste item van de wachtrij.

Implementatie in wachtrij met behulp van de lijst

Een lijst is een veelgebruikte ingebouwde datastructuur van Python die de items in volgorde rangschikt. Met de lijst kunnen we de functies append() en pop() gebruiken, die worden gebruikt om respectievelijk items in de wachtrij in te voegen en te verwijderen. De functie append() voegt het item toe aan het einde van de lijst. De pop-functie neemt de index als argument en verwijdert het item uit de lijst.  We kunnen items van elk type in de lijst opslaan. Laten we een wachtrij implementeren met behulp van een Python-lijst.

#wachtrij maken met lijst
#definiëren van een lijst
mijn_wachtrij =[]
#items in de wachtrij plaatsen
mijn_wachtrij.toevoegen(1)
mijn_wachtrij.toevoegen(2)
mijn_wachtrij.toevoegen(3)
mijn_wachtrij.toevoegen(4)
mijn_wachtrij.toevoegen(5)
print("De items in de wachtrij:")
print(mijn_wachtrij)
#items uit de wachtrij verwijderen
print(mijn_wachtrij).pop(0))
print(mijn_wachtrij).pop(0))
print(mijn_wachtrij).pop(0))
print(mijn_wachtrij).pop(0))
#wachtrij afdrukken na het verwijderen van de elementen
print("De items in de wachtrij:")
print(mijn_wachtrij)

In het hierboven gegeven voorbeeld hebben we index 0 doorgegeven aan de functie pop() omdat we het eerste toegevoegde item moeten verwijderen.

Uitgang:

Zoals eerder besproken, kunnen we elk type items in de lijst opslaan, dus laten we een wachtrij maken met behulp van een lijst die de items van heterogeen type bevat.

#wachtrij maken met lijst
#definiëren van een lijst
mijn_wachtrij =[]
#items in de wachtrij plaatsen
mijn_wachtrij.toevoegen(1)
mijn_wachtrij.toevoegen ("a")
mijn_wachtrij.toevoegen(2)
mijn_wachtrij.toevoegen("b")
mijn_wachtrij.toevoegen(3)
print("De items in de wachtrij:")
print(mijn_wachtrij)
#items uit de wachtrij verwijderen
print(mijn_wachtrij).pop(0))
print(mijn_wachtrij).pop(0))
print(mijn_wachtrij).pop(0))
print(mijn_wachtrij).pop(0))
#wachtrij afdrukken na het verwijderen van de elementen
print("De items in de wachtrij:")
print(mijn_wachtrij)

Uitgang:

Wachtrij-implementatie met behulp van de wachtrij.Wachtrij

De wachtrij is een in Python ingebouwde module die wordt gebruikt om de wachtrijen te maken en te implementeren. Het kenmerk max size initialiseert de grootte van de wachtrij. Veel functies zijn beschikbaar in de wachtrijmodule. De functie put() voegt bijvoorbeeld het item toe aan de wachtrij, de functie get() verwijdert het element uit de wachtrij en de functie qsize() retourneert de wachtrijgrootte. Laten we een wachtrij implementeren met behulp van de wachtrijmodule.

#de wachtrijmodule importeren
wachtrij importeren
#creëren van een wachtrij van maat 5
my_queue = wachtrij.Wachtrij (max. grootte = 5)
#items in de wachtrij plaatsen
mijn_wachtrij.zetten(1)
mijn_wachtrij.zet(2)
mijn_wachtrij.zet (3)
mijn_wachtrij.zet(4)
mijn_wachtrij.zet(5)
print("De grootte van de wachtrij is:",my_queue.qmaat())
#items uit de wachtrij verwijderen
print(mijn_wachtrij).krijgen())
print(mijn_wachtrij).krijgen())
print(mijn_wachtrij).krijgen())
print(mijn_wachtrij).krijgen())
print("De grootte van de wachtrij is:",my_queue.qmaat())

Uitgang:

Wachtrij-implementatie met behulp van de deque

De deque is een klasse van collecties module. In vergelijking met de lijst voert de deque de wachtrij- en dequeue-bewerkingen sneller uit. De functies append() en popleft() voegen respectievelijk de items in en verwijderen ze uit de wachtrij. Laten we een wachtrij implementeren met deque.

#importeren van de collecties module
collecties importeren
#wachtrij maken
my_queue = collecties.deque()
#items in de wachtrij plaatsen
mijn_wachtrij.toevoegen(1)
mijn_wachtrij.toevoegen(2)
mijn_wachtrij.toevoegen(3)
mijn_wachtrij.toevoegen(4)
mijn_wachtrij.toevoegen(5)
print("De items in de wachtrij zijn:")
print(mijn_wachtrij)
#items uit de wachtrij verwijderen
print(mijn_wachtrij).poplinks())
print(mijn_wachtrij).poplinks())
print(mijn_wachtrij).poplinks())
print(mijn_wachtrij).poplinks())
print("De items in de wachtrij zijn:")
print(mijn_wachtrij)

Uitgang:

Conclusie

Er wordt een wachtrij gebruikt om de gegevens op te slaan en te beheren. Het slaat de gegevens op in FIFO-volgorde. De wachtrij in Python kan op drie manieren worden geïmplementeerd, die in dit artikel met voorbeelden worden uitgelegd.

Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...