E-mail melléklet mentése SharePointba a Power Automate segítségével
Ebből a blogból megtudhatja, hogyan mentheti automatikusan az e-mail mellékleteket a SharePointba, majd törölheti az e-maileket a Power Automate segítségével.
Ha Ön Python-fejlesztő, valószínűleg hallott már a deque-ről vagy a „kétvégű sorról”. Ez egy hatékony eszköz, amely növelheti az alkalmazás hatékonyságát és felgyorsíthatja annak teljesítményét.
A deque egy speciális tároló adattípus, amely gyorsabb hozzáfűzési és pop műveleteket kínál a tároló mindkét végéről. Ez értékes eszközzé teszi a sorok és veremek megvalósításához, amelyek a számítástechnikában gyakori listaszerű adattípusok.
Ez egy alacsony szintű és nagymértékben optimalizált adatstruktúra, amely nagyon hasznos különféle alkalmazásokhoz. Python-programozóként a deque az egyik eszköz, amelyet az arzenáljában szeretne tartani.
Folytassa az olvasást, hogy többet megtudjon a Deques-ről és arról, hogyan alkalmazhatja őket a !
Tartalomjegyzék
Mi az a Deque?
Ha még nem ismeri a Python-t vagy általában a számítógép-programozást, akkor felmerülhet a kérdés, mi az a deque. A Deque a „ kétvégű várólista ” rövidítése , és ez egy olyan adatstruktúra, amely lehetővé teszi elemek hozzáadását és eltávolítását a sor mindkét végéről.
Hasonlít egy normál sorhoz, de megnövelt rugalmassággal, hogy a sor elejéről és hátuljáról is felvehet és eltávolíthat elemeket. Ez azért lehetséges, mert a Python deque-je duplán linkelt listaként van megvalósítva.
A Pythonban a deque-eket a gyűjtemények modul segítségével valósítják meg, amely egy deque osztályt biztosít. Ez az osztály számos módszert biztosít az elemek hozzáadásához és eltávolításához a deque-ből.
Funkciókat biztosít más hasznos műveletekhez is, mint például a deque forgatásához vagy teljes törléséhez.
A Python Deque jellemzői
A szokásos listától eltérően, amelynek O(n) időbonyolultsága van az append és pop műveletekhez, a deque egy O(1) idejű összetettséget biztosít. Ez jelentősen gyorsabbá és memóriahatékonyabbá teszi ezeket az olvasási és írási műveleteket.
Íme néhány további Python deque funkció, amelyet tudnia kell:
Ez egy változtatható adatstruktúra.
Többféle adattípust is tárolhat, pl. egész számokat, sorokat, tömböket stb.
Támogatja az indexelést, de nem a szeletelési műveleteket.
Nem támogatja a helyben történő válogatást
Támogatja a gyakori beépített iterálható függvényeket és műveleteket, mint például in , sorted() , len() , reverse() stb.
Az A Deque alkalmazásai
A deque-ek számos okból hasznosak. Használhatók például sorok vagy veremek megvalósítására, amelyek mindkettő gyakori adatstruktúra a számítástechnikában.
Használhatók továbbá az adatok valós idejű hatékony feldolgozására, például streaming alkalmazásokban vagy olyan rendszerekben, amelyek gyors hozzáférést igényelnek az adatokhoz.
Amellett, hogy sorokhoz és veremekhez használhatók, a deque-ek szélesség-első keresési algoritmusok megvalósítására is használhatók. Hasznosak az elemek tolóablakának nagyobb sorrendben való megtartásához is.
Deque létrehozása és inicializálása
A gyűjtemény modul egy beépített funkciójával készíthet deque-t. Nézzük meg alaposan, hogyan hozhatja létre és töltheti fel ezt az adatstruktúrát.
A deque() függvény használata
A Pythonban deque létrehozásához használhatja a beépített deque() függvényt a gyűjtemények modulból. Ez a függvény egy új üres deque objektumot ad vissza, amelyet kétvégű sor megvalósítására használhat.
Íme egy példa egy üres deque objektum létrehozására:
from collections import deque
my_deque = deque()
Létrehozhat deque-t kezdeti elemekkel is, ha egy iterálható elemet (lista, sor stb.) ad át a deque() függvénynek. A deque inicializálása az iterálható elemekkel történik balról jobbra.
Íme egy példa:
from collections import deque
my_list = [1, 2, 3, 4, 5]
my_deque = deque(my_list)
Deque inicializálása elemekkel
Egy üres deque elemet is inicializálhat különböző módszerekkel. Ennek egyik módja, hogy az append() és appendleft() metódusokat használva elemeket adunk a deque-hez a jobb, illetve a bal oldalról.
Íme egy példa:
from collections import deque
#Initialize the empty deque
my_deque = deque()
print(my_deque)
#Add Values to the deque
my_deque.append(1)
my_deque.append(2)
my_deque.appendleft(3)
print(my_deque)
A kód futtatása után a deque tartalmazza a [3, 1, 2] elemeket.
A deque elemekkel történő inicializálásának másik módja az elemek listájának átadása a deque() függvénynek.
Íme egy példa:
from collections import deque
my_deque = deque([1, 2, 3])
A kód futtatása létrehoz egy deque objektumot, amely az [1, 2, 3] elemeket tartalmazza .
Összességében a deque létrehozása és inicializálása Pythonban egyszerű, és a beépített deque() függvény segítségével is elvégezhető . Ezt úgy is megteheti, hogy elemeket ad hozzá egy üres deque-hez az append() és appendleft() metódusokkal.
Hogyan hajtsunk végre közös deque műveleteket
A Pythonban számos műveletet végrehajthat a deque-objektumokon. Nézzünk meg néhányat a népszerűbbek közül.
Elemek hozzáadása a Deque-hez
Az append() és appendleft() metódusokkal adhat hozzá elemeket a deque-hez . Az append() metódus hozzáad egy elemet a deque jobb végéhez, míg az appendleft() metódus hozzáad egy elemet a deque bal végéhez.
Íme egy példa:
import collections
# Create an empty deque
my_deque = collections.deque()
# Add elements to the deque
my_deque.append(1)
my_deque.appendleft(2)
my_deque.append(3)
print(my_deque)
# Output:
deque([2, 1, 3])
Több adatelem hozzáadása a deque-hez
Ha nem szeretnénk egyenként adatelemeket hozzáadni a deque-hez, akkor az extend() vagy extendleft() függvényekkel felgyorsíthatjuk a folyamatot . Ezek a függvények egy iterálhatót vesznek fel, és hozzáfűzik az iterálható tartalmát a deque végéhez, illetve bal végéhez.
Íme egy példa:
from collections import deque
my_list = [1, 2, 3, 4, 5]
my_deque = deque(my_list)
#Creating a tuple and list
cont = (11, 12, 13, 14)
full = [10,20,30]
#Extending the deque from the right
my_deque.extend(cont)
print(my_deque)
#Extending the deque from the left
my_deque.extendleft(full)
print(my_deque)
A fenti kódban az extend() függvény hozzáfűzi a cont sor több értékét a deque végéhez. Ezután az extendleft() függvény a teljes lista több adatelemét hozzáfűzi a deque bal végéhez.
Elemek eltávolítása a Deque-ből
A pop() és popleft() metódusokkal eltávolíthat elemeket a Python-deque-ből . A pop() metódus eltávolítja és visszaadja a deque jobb szélső elemét, míg a popleft() metódus eltávolítja és visszaadja a deque bal szélső elemét.
Íme egy példa:
import collections
#Create a deque with some elements
my_deque = collections.deque([1, 2, 3, 4, 5])
#Remove elements from the deque
my_deque.pop()
my_deque.popleft()
print(my_deque)
# Output: deque([2, 3, 4])
Egy adott értéket a deque-ből is eltávolíthat a remove() függvénnyel. A függvény eltávolítja a deque-ből a megadott érték első előfordulását.
Íme egy példa:
import collections
#Create a deque with some elements
my_deque = collections.deque([1, 2, 1, 4, 5])
#Remove elements from the deque
my_deque.remove(1)
print(my_deque)
# Output: deque([2, 1, 4, 5])
Ha az elem nem található, a Python ValueError értéket ad vissza .
Minden elem eltávolítása a Deque-ből
A Deque összes elemének eltávolításához és üres állapotba való visszaállításához használhatjuk a clear() függvényt. Így működik:
from collections import deque
#Create a deque with some elements
my_deque = deque([1, 2, 1, 4, 5])
#Remove all elements from the deque
my_deque.clear()
print(my_deque)
# Output:
deque([])
Hozzáférés a Deque elemeihez
A Python-deque elemeit a [] indexelő operátor segítségével érheti el . Az indexelési operátorban negatív értéket is használhat a deque elemek jobb oldali eléréséhez.
Az indexelés a bal szélső elemnél 0-tól, a jobb szélső elemnél -1-től kezdődik. Íme egy példa:
import collections
# Create a deque with some elements
my_deque = collections.deque([1, 2, 3, 4, 5])
# Access elements of the deque
print(my_deque[0])
# Output: 1
print(my_deque[-1])
# Output: 5
A Deque elemeinek módosítása
A Python-deque elemeit a „ [] ” indexelő operátor és a „ = ” hozzárendelési operátor segítségével módosíthatja . Íme egy példa:
from collections import deque
# Create a deque with some elements
my_deque = deque([1, 2, 3, 4, 5])
print(my_deque)
# Modify elements of the deque
my_deque[0] = 10
my_deque[-1] = 50
print(my_deque)
A fenti kódban az indexelő operátor a deque első és utolsó elemét 10-re, illetve 50-re módosítja.
Ezek azok az alapvető műveletek, amelyeket egy deque-objektum Pythonban végrehajthat. Ezekkel a műveletekkel hatékonyan implementálhat különféle adatstruktúrákat, például sorokat, veremeket és egyebeket.
Hogyan dolgozzunk egy deque-vel várólistaként
Használhat deque-t a Pythonban egy sor adatstruktúra megvalósításához. A várakozási sor egy absztrakt adattípus, amely FIFO (first in first out) alapon működik.
Ez azt jelenti, hogy a sor egyik végéről új elemeket fűzhet hozzá, a másik végéről pedig kinyomhatja a régi elemeket.
Jó módja annak, hogy ezt megmagyarázzuk, ha egy sor az üzletben van. Általában az elsőként érkező személy áll a sor élén, és először látják el.
Az újonnan érkezőknek a sor végére kell menniük, és ki kell várniuk a sorukat. Tehát az első beérkező lesz az első válaszoló, míg az utolsó beérkező lesz az utolsó válasz.
Az alábbiakban bemutatjuk, hogyan használhat deque-t a várólisták megvalósításához.
Az append() és popleft() metódusok használata
Ha egy deque-t sorként szeretne használni, az append() metódussal hozzáadhat elemeket a deque jobb végéhez. Ezenkívül a popleft() metódussal eltávolíthatja az elemeket a deque bal végéről.
Ez egy nagyon hatékony módja a várakozási sorok Pythonban való megvalósításának. Íme egy példa:
from collections import deque
queue = deque()
queue.append(1)
queue.append(2)
queue.append(3)
print(queue)
# Output: deque([1, 2, 3])
x = queue.popleft()
print(x)
# Output: 1
print(queue)
# Output: deque([2, 3])
Mint látható, az append() metódus a deque jobb végéhez ad hozzá elemeket, a popleft() metódus pedig eltávolítja a deque bal végéből.
Pontosan erre van szükségünk egy sor implementációban.
Annak ellenőrzése, hogy a deque Queue üres-e
Ha ellenőrizni szeretné, hogy egy deque üres-e, használja a not operátort. Íme egy példa:
from collections import deque
queue = deque()
if not queue:
print("Queue is empty")
else:
print("Queue is not empty")
Ez a „ Várólista üres ”, mert a deque üres. Ha elemeket ad hozzá a deque-hez, az többé nem lesz üres.
Összefoglalva, a deque-nek a Pythonban várólistaként való használata nagyon hatékony és könnyen megvalósítható.
Munka a Deque-vel, mint egy verem
Csakúgy, mint a várólisták, a veremek egy másik példája az absztrakt adattípusoknak, amelyeket az adatok rendszerezéséhez használhat. A várólistáktól eltérően a veremek LIFO (last in first out) módon működnek.
Ez azt jelenti, hogy a deque utolsó eleme lesz az első elem. A következőképpen valósíthatja meg ezt a mögöttes adatstruktúra használatával.
Az append() és pop() metódusok használata
Ha a Deque-t veremként használja, akkor az append() metódussal hozzáadhat elemeket a verem tetejére. Ez a módszer hozzáadja az elemet a deque jobb végéhez.
Hasonlóképpen eltávolíthat elemeket a verem tetejéről a pop() metódussal. Ez a módszer eltávolítja és visszaadja a deque jobb szélső elemét.
Tegyük fel például, hogy van egy „ my_stack ” nevű deque-je, és egy elemet szeretne hozzáadni a verem tetejéhez. A következő kódot használhatja:
my_stack.append(5)
Ez hozzáadja az 5-ös elemet a verem tetejéhez.
Ha el szeretné távolítani a legfelső elemet a veremből, használhatja a pop() metódust: `
bal = my_stack.pop()
print(bal)
# Output: 5
Ezzel eltávolítja és visszaadja a deque jobb szélső elemét, amely ebben az esetben az 5.
Üres deque objektum keresése
A „ not ” logikai operátor segítségével ellenőrizheti, hogy egy deque verem üres-e . Ha a deque üres, a „ not my_deque ” True értéket ad vissza . Ellenkező esetben a False értéket adja vissza .
Tegyük fel például, hogy van egy „ my_deque ” nevű deque verem, és ellenőrizni szeretné, hogy üres-e. A következő kódot használhatja:
if not my_deque:
print("The deque is empty")
else:
print("The deque is not empty")
Ha a deque üres, akkor ez a következőt írja ki: „ A deque is üres”. Ha nem üres, a kimenet „ A deque is not empty ” lesz.
Amikor a Deque-vel dolgozik veremként, fontos nyomon követni, hogy a verem üres-e vagy sem. Ha egy üres veremből próbál kidobni egy elemet, IndexError üzenetet fog kapni .
Mi az a korlátozott deque?
A korlátozott visszaküldés egy kétvégű várólista, amely bizonyos korlátozásokkal rendelkezik az adathozzáfűzési és pop-műveletekre a deque mindkét végén. A korlátozott deque két fő típusa van; Korlátozott bemeneti deque és kimenet korlátozott deque
Nézzük őket:
Input Restricted Deque
A bevitelre korlátozott deque lehetővé teszi az adatelemek felbukkanását vagy törlését a deque mindkét végéről. Adatelemeket azonban csak a deque egyik végéről illeszthet be.
Ez nagyon hasznos a memóriakorlátokkal rendelkező alkalmazásokban. Használhatja adatelemek időrendi sorrendben történő hozzáadására, miközben megőrzi az adatok elvetését a deque bármely végéről.
Kimenet Korlátozott Deque
A kimenetre korlátozott visszaküldés lehetővé teszi adatok beszúrását a deque mindkét végéről. Az elemeket azonban csak a deque egyik végéből törölheti, amelyet kezelőfelületnek neveznek.
A kimenetre korlátozott deque nagyon hasznos azokban az esetekben, amikor FIFO adatstruktúrát kell megvalósítani, de továbbra is szeretné, hogy a funkcionalitás mindkét végről adatokat fűzzen hozzá.
Csomagoljuk be
Mostanra már jól ismernie kell a Python deque modulját, és azt, hogy hogyan használható hatékony várólisták és veremek megvalósítására.
A Deques egy sokoldalú adatstruktúra, amely számos előnnyel rendelkezik a hagyományos listákkal szemben. Ezek az előnyök nyilvánvalóak a memóriahatékony hozzáfűzés és pop műveletek során.
Akkor is nagyszerű választás, ha verem vagy kétvégű sor megvalósítására van szükség. A deque használatának néhány fő előnye:
Hatékony O(1) append és pop műveletek a deque mindkét végéről
Gyors O(1) hozzáférés a deque első és utolsó eleméhez
Beépített támogatás a menetbiztos, atomi műveletekhez
Rugalmas módszerek az elemek beillesztésére, eltávolítására és elforgatására
Összességében a deque modul egy hatékony eszköz, amely segíthet hatékonyabb és karbantarthatóbb Python-kód írásában. Akár egy kis forgatókönyvön, akár egy nagyszabású projekten dolgozik, a deque-eket mindenképpen érdemes megfontolni a hagyományos listák vagy egyéb adatstruktúrák alternatívájaként!
Készen áll, hogy többet megtudjon a Pythonról, tekintse meg az alábbi lejátszási listánkat
Ebből a blogból megtudhatja, hogyan mentheti automatikusan az e-mail mellékleteket a SharePointba, majd törölheti az e-maileket a Power Automate segítségével.
A Microsoft LuckyTemplates irányítópult 18 legjobb példája 2023
Ismerje meg, hogyan hozhat létre <strong>Power Automate</strong> folyamatokat a semmiből. Sablon használata helyett mi magunk hozzuk létre a kiváltó okokat és a műveleteket.
4 módszer a Pi használatára a Pythonban példákkal
Ebben az útmutatóban bemutatom, hogyan lehet Pénzügyi információk mátrixát létrehozni a Profit és veszteség (P&L) kimutatással a LuckyTemplates alkalmazásban.
Fedezze fel, hogyan lehet dinamikusan egyesíteni oszlopokat a Power Query Table.CombineColumns függvény segítségével.
Ismerje meg, hogyan adhatjuk hozzá és szinkronizálhatjuk SharePoint-fájljainkat az asztalon és a OneDrive-on.
Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.
Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.
Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.