Pytonorm

Python Deque

Python Deque

En deque betyder dubbelkö med tillägg av element från vilken ände som helst; användare kan också ta bort element från alla ändar. Denna modul kommer från samlingsbiblioteket och implementeras med den här modulen. Det är i allmänhet att föredra framför listan där vi behöver ha en snabbare metod för att lägga till operationer. Tillägg och borttagning kan göras från båda behållarändarna. Användare kan lägga till värdena i deken eller ta bort dem från båda sidor. De kan till och med vända hela deken. Självstudien kommer att täcka alla möjliga användningsfall tillsammans med detaljerade exempel för att underlätta för användarna.

Vi använder helst den senaste versionen av Python för implementering som är Python x3.8, men om någon inte har den senaste versionen kan de även implementera den på sina versioner. Det kommer att generera liknande resultat.

Jämförelse av Deque med lista:

Deque är snabbare för att använda tillsatsen i början och slutet av deken. Listor är snabbare när det gäller att lägga till och ta bort element från mitten av listan. I listan kan användare använda index och värden för att infoga i listor, medan vi i deque kan lägga till antingen till vänster eller höger sida.

Deques är mer som köer och stackar. De stöder också trådsäker och är effektiva när det gäller minne. Pops från båda sidor av deken är desamma, dvs.e., O (1) i vardera riktningen. Lista objekt stöder operationer. Listor är optimerade för mycket snabbare operationer.

Deque är en dubbellänklista med ett mycket större minne än en lista. Den stöder två pekare per nod istället för en. Sammantaget kan denna skillnad ignoreras. Användare kan lägga till och dyka upp i båda ändarna i Deque.

Exempel

Här är ett exempel som körs genom att importera deque. Koden är ett grundläggande exempel som kan användas för att importera samlingarna, och användare kan välja det här provet när de vill importera en deque. Samlingarna importerar deken och sedan deklarerar vi deque i nästa steg. Äntligen när vi skriver ut det för att kontrollera värdet på vår produktion.

>>> från samlingar import deque
>>> kö = deque (['nummer', 'plats', 'titel'])
>>> skriva ut (kö)

ProduktionUtgångsvärdet för deque kommer att se ut så här:

Operationer av deque

Olika operationer kan utföras i deque (). I det här avsnittet illustrerar vi alla möjliga operationer som kan vara användbara för användarna. Först kommer vi att kolla in det importalternativ som är tillgängligt för att importera samlingen.

Importera samlingar

Ett annat exempel på import av samlingar ges nedan:

>>> importera samlingar
>>> DoubleEnded = samlingar.deque (["Måndag," Tisdag "," Onsdag "])
>>> tryck (DoubleEnded)

ProduktionSå snart du trycker på Enter visas utdata som bifogas nedan:

Lägg till värde till höger:

För att lägga till värdet till höger använder vi följande ingångsvärde. Vi lägger till torsdag till höger om kön. Värdet läggs till till höger i listan.

>>> utskrift ("Lägger till höger:")
>>> DoubleEnded.lägg till ("torsdag")
>>> tryck (DoubleEnded)


Produktion
När du klickar på enter visas utdata som den här:

I exemplet ovan läggs värdet till på höger sida av listan.

Lägg till värde till vänster

För att lägga till ett värde i deque till vänster använder vi följande ingångsvärde. Vi lägger till söndag till vänster i kön. Värdet läggs till till vänster i listan.

>>> tryck ("Lägg till vänster:")
>>> DoubleEnded.append ("söndag")
>>> tryck (DoubleEnded)


Produktion
När du klickar på enter visas utdata som den här:

Här i exemplet läggs värdet till till vänster i listan.

Ta bort värdet från höger

Användare kan ta bort deque för att ta bort värdet från höger sida av deque. Användare kan välja detta alternativ för att ta bort relevanta värden från deque från höger sida. Använd följande kodrader:

>>> tryck ("Ta bort från höger:")
>>> DoubleEnded.pop()
>>> tryck (DoubleEnded)

ProduktionFör att kolla in deque-utdata som har uppdaterats, tryck på Enter-tangenten.

Här kommer värdet som tidigare var på höger sida av deken, torsdag som det i vårt fall, att tas bort från deken.

Ta bort värdet från vänster

För att ta bort värdet från vänster sida av deken måste användarna använda följande kodrader:

>>> utskrift ("Ta bort värde från vänster:")
>>> DoubleEnded.popleft ()
>>> tryck (DoubleEnded)

ProduktionFör att kolla in deque-utdata som har uppdaterats, tryck på Enter-tangenten.


Här kommer värdet som tidigare var på deques vänstra sida var söndag att tas bort från deque.

Omvänd hela deken

För att vända hela deque, använd följande kod:

>>> utskrift ("Omvänd hela deken:")
>>> DoubleEnded.omvänd()
>>> tryck (DoubleEnded)

När du trycker på Enter kommer deketten att återställas från vänster till höger sida.

Slutsats

I denna handledning diskuterade vi begreppet deque. Vi delade alla möjliga operationer som kan utföras med hjälp av deque som är importsamlingar, lägga till värden till höger om deque, lägga till värden till vänster och ta bort värde från vänster, ta bort värde från höger sida. Äntligen diskuterade vi metoden för att återställa hela deken.

De möjligheter som diskuteras i handledningen kan användas vid behov. Användare kan välja en lista eller deque baserat på deras krav. Båda har olika proffs som baseras på en situation där en av dem ska användas över en annan. Minnesallokering, effektivitet och grundläggande funktioner för dubbla listor är de enda skillnaderna. Denna handledning måste vara till hjälp för dem som vill veta mer om deks generiska operationer.

Användbara verktyg för Linux-spelare
Om du gillar att spela spel på Linux är chansen att du kan ha använt appar och verktyg som Wine, Lutris och OBS Studio för att förbättra spelupplevels...
HD Remastered Games för Linux som aldrig tidigare hade en Linux-version
Många spelutvecklare och utgivare kommer med HD-remaster av gamla spel för att förlänga livstiden för franchisen, snälla fans som begär kompatibilitet...
Hur man använder AutoKey för att automatisera Linux-spel
AutoKey är ett verktyg för desktopautomatisering för Linux och X11, programmerat i Python 3, GTK och Qt. Med hjälp av dess skript och MACRO-funktional...