A deque kettős végű várólistát jelent, bármelyik elem hozzáadásával; a felhasználók elemeket is eltávolíthatnak bármelyik végről. Ez a modul a gyűjtemények könyvtárából származik, és ezzel a modullal valósul meg. Általában előnyösebb a listánál, ahol gyorsabb módszerre van szükségünk a műveletek hozzáfűzéséhez. A hozzáadás és az eltávolítás mindkét tartály végéről elvégezhető. A felhasználók hozzáadhatják az értékeket a deque-be, vagy eltávolíthatják mindkét oldalról. Még a teljes deque-et is megfordíthatják. Az oktatóanyag bemutatja az összes lehetséges felhasználási esetet, valamint a felhasználók megkönnyítése érdekében kidolgozott példákat.
Ideális esetben a Python legújabb verzióját használjuk a megvalósításhoz, amely a Python x3.8, de ha valakinek nincs legújabb verziója, akkor is alkalmazhatja azt a verzióin. Hasonló eredményeket fog hozni.
A Deque összehasonlítása a listával:
A Deque gyorsabb az összeadás használatához a deque elején és végén. A listák gyorsabbak, amikor elemeket kell hozzáadni és eltávolítani a lista közepéről. A listában a felhasználók indexet és értékeket használhatnak a listákba történő beszúráshoz, de deque-ben a bal vagy a jobb oldalon is hozzáadhatjuk.
A dequek inkább a sorok és a halmok. Támogatják a szálbiztonságot és hatékonyak a memória szempontjából is. A deque mindkét oldaláról érkező durranások azonosak, azaz.e., O (1) mindkét irányban. Sorolja fel az objektumokat támogató műveleteket. A listák sokkal gyorsabb műveletekre vannak optimalizálva.
A Deque egy kettős linkes lista, amely sokkal nagyobb memóriával rendelkezik, mint egy lista. Csomópontonként két mutatót támogat az egyik helyett. Összességében ez a különbség figyelmen kívül hagyható. A felhasználók mindkét végén csatolhatnak és felbukkanhatnak a Deque-ben.
Példa
Itt van egy példa a deque importálásával. A kód egy alapminta, amely felhasználható a gyűjtemények importálásához, és a felhasználók választhatják ezt a mintát, amikor deque-et akarnak importálni. A gyűjtemények importálják a deque-t, majd a következő lépésben deklaráljuk a deque-t. Végül, amikor kinyomtatjuk, hogy ellenőrizzük a kimenetünk értékét.
>>> a gyűjteményekből import deque>>> queue = deque (['szám', 'hely', 'cím'])
>>> nyomtatás (sor)
KimenetA deque kimeneti értéke így fog kinézni:
A deque műveletei
Különböző műveletek hajthatók végre deque-ben (). Ebben a részben bemutatjuk az összes lehetséges műveletet, amely hasznos lehet a felhasználók számára. Először megvizsgáljuk a gyűjtemény importálásához rendelkezésre álló importálási lehetőséget.
Gyűjtemények importálása
Az alábbiakban egy másik példa található a gyűjtemények importálására:
>>> gyűjtemények importálása>>> DoubleEnded = gyűjtemények.deque ([„hétfő, kedd”, „szerda”])
>>> nyomtatás (DoubleEnded)
KimenetAmint megérinti az Enter billentyűt, a kimenet az alábbiak szerint jelenik meg:
Adjon hozzá értéket jobbra:
Most, hogy hozzáadjuk az értéket a jobb oldalhoz, a következő bemeneti értéket fogjuk használni. Csütörtökkel egészítjük ki a sor jobb oldalán. Az érték a lista jobb oldalán lesz hozzáadva.
>>> print ("Hozzáadás a jobb oldalon:")>>> DoubleEnded.függelék ("csütörtök")
>>> nyomtatás (DoubleEnded)
Kimenet
Az Enter gombra kattintva a kimenet hasonló lesz ehhez:
A fenti példában az érték a lista jobb oldalán található.
Adjon hozzá értéket balra
Bármely deque érték hozzáadásához a bal oldalon a következő bemeneti értéket fogjuk használni. A vasárnapot hozzáadjuk a sor bal oldalához. Az érték a lista bal oldalán lesz hozzáadva.
>>> print ("Hozzáadás balra:")>>> DoubleEnded.függelék ("vasárnap")
>>> nyomtatás (DoubleEnded)
Kimenet
Az Enter gombra kattintva a kimenet hasonló lesz az ehhez hasonlóhoz:
Itt a példában az érték a lista bal oldalán található.
Távolítsa el az értéket jobbról
A felhasználók eltávolíthatják a deque-t, hogy eltávolítsák az értéket a deque jobb oldaláról. A felhasználók ezt az opciót választva eltávolíthatják a megfelelő értékeket a deque-ről a jobb oldalon. Használja a következő kódsorokat:
>>> print ("Eltávolítás jobbról:")>>> DoubleEnded.pop()
>>> nyomtatás (DoubleEnded)
KimenetA frissített deque kimenet megtekintéséhez nyomja meg az Enter billentyűt.
Itt azt az értéket távolítjuk el a deque-ről, amely korábban a deque jobb oldalán volt, a mi esetünkben csütörtök volt.
Távolítsa el az értéket balról
Az érték eltávolításához a deque bal oldaláról a felhasználóknak a következő kódsorokat kell használniuk:
>>> print ("Érték eltávolítása balról:")>>> DoubleEnded.popleft ()
>>> nyomtatás (DoubleEnded)
KimenetA frissített deque kimenet megtekintéséhez nyomja meg az Enter billentyűt.
Itt azt az értéket, amely korábban a deque bal oldalán volt, vasárnap volt, eltávolítjuk a deque-ről.
A teljes deque megfordítása
A teljes deque megfordításához használja a következő kódot:
>>> print ("A teljes deque megfordítása:")>>> DoubleEnded.fordított()
>>> nyomtatás (DoubleEnded)
Amikor megnyomja az Enter billentyűt, a deque bal oldalról a jobb oldalra kerül.
Következtetés
Ebben az oktatóanyagban megvitattuk a deque fogalmát. Megosztottuk az összes lehetséges műveletet, amely elvégezhető a deque használatával, vagyis gyűjtemények importálásával, értékek hozzáadásával a deque jobb oldalához, értékek hozzáadásához a bal oldalhoz és értékek eltávolításához balról, értékek eltávolításához a jobb oldalaktól. Végül megbeszéltük a teljes deque visszaállításának módszerét.
Az oktatóanyagban tárgyalt lehetőségek szükség esetén felhasználhatók. A felhasználók igényeik szerint választhatnak egy listát vagy deque-ot. Mindkettőnek különböző profik vannak, amelyek egy olyan helyzeten alapulnak, ahol egyiküket a másik felett kell használni. Az egyetlen különbség a kettős listák memória-allokációja, hatékonysága és alapvető funkciói között van. Ennek az oktatóanyagnak hasznosnak kell lennie azok számára, akik tudni akarnak a deque általános műveleteiről.