Hogyan kommentáljunk Pythonban – Rövid útmutató kezdőknek
Hogyan kommentáljunk Pythonban – Rövid útmutató kezdőknek
A Python programozási nyelv egyedülálló eszközkészletet kínál, amely nemcsak szórakoztatóvá teszi a kódolást, hanem felgyorsítja a programozói fejlődést is. Könnyű használhatóságának köszönhetően a Python a legkülönbözőbb iparágakban használt nyelvvé vált, a webfejlesztéstől és az adattudománytól a pénzügyekig és azon túl is.
A Python szótárak megértése egy fontos eszköz, amely lehetővé teszi a szótárak dinamikus létrehozását a meglévő iterálható adatstruktúrák vagy szótárak iterációjával újak létrehozásához. A szótári értelmezést a listás szövegértéshez hasonlónak tekintheti, de kissé eltérő használati esettel.
Ahogy megismeri a megértést, rá fog jönni, hogy jelentősen javíthatják a kódot azáltal, hogy elősegítik az egyértelműséget és kiküszöbölik a hosszú, ismétlődő ciklusok szükségességét.
Ha még nem ismeri a(z) alkalmazást, előfordulhat, hogy nem találkozott a megértés funkcióval, vagy nem használta azt a kódjában. Mielőtt belemerülnénk a szintaxisba, foglalkozzunk az elsődleges kérdéssel: Mi a Python szótár megértése?
Tartalomjegyzék
Mi a Python szótár megértése?
A Python szótár megértése egy tömör módja a szótárak létrehozásának egyszerű kifejezések használatával. Lehetővé teszi új szótárak létrehozását a for-loops.e használata nélkül
Nézzünk egy példát a megértésre. Tegyük fel, hogy két listája van, az egyik kulcsokat, a másik pedig értékeket tartalmaz:
keys = ['a', 'b', 'c']
values = [1, 2, 3]
A szótári megértés használatával új szótárt hozhat létre a két lista iterációjával és a megfelelő kulcs-érték párok kombinálásával:
my_dict = {k: v for k, v in zip(keys, values)}
print(my_dict)
A kimenet a következő lesz:
{'a': 1, 'b': 2, 'c': 3}
A fenti példának képet kell adnia arról, hogy a megértés miben áll. A fogalom megszilárdítása érdekében ismerjük meg a szótári megértés szintaxisát Pythonban.
A szótári megértés szintaxisának megértése
A szótári megértés szintaxisa egyszerű, de hatékony. Tömören kínálnak . Ezenkívül hasonló szintaxist követnek a lista megértéséhez, de kapcsos zárójeleket {} és kettősponttal elválasztott kulcs-érték párt használnak.
Az alap felépítés a következő:
{key: value for (key, value) in iterable}
Ebben a szintaxisban a kulcs és az érték az eredményül kapott szótár kulcsainak és értékeinek generálásához használt kifejezéseket jelenti. Az iterálható a kulcs-érték párok létrehozásához használt adatok forrását adja.
Ezt a szintaxist a Python 3-ban vezették be, és a Python 2.7-ig visszaportálták, biztosítva a Python-verziók széles körű kompatibilitását.
Például egy olyan szótár létrehozásához, amely a 0-tól 4-ig terjedő számokat a négyzetekre leképezi a szótári megértés segítségével, a következő Python-kódot használhatja:
square_dict = {x: x**2 for x in range(5)}
Ez a következő szótárat eredményezi:
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
Mi a teendő, ha egyszerre két változót szeretne ismételni? Ezt a szótár megértésével érheti el a zip() függvénnyel, hogy szótárt hozzon létre két iterálható elemből, amelyek közül az egyik a kulcsokat, a másik pedig az értékeket képviseli. Íme egy példa:
keys = ['a', 'b', 'c', 'd', 'e']
values = [1, 2, 3, 4, 5]
my_dict = {k: v for k, v in zip(keys, values)}
Az eredményül kapott szótár a következő lesz:
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
A szótári megértés azt is lehetővé teszi, hogy a megértés végére egy opcionális if utasítást adjon hozzá, hogy feltételes szűrőt alkalmazzon a benne szereplő elemekre.
Létrehozhat például egy szótárt, amely csak páros számokat és azok négyzeteit tartalmazza a szótári megértés segítségével:
even_square_dict = {x: x**2 for x in range(10) if x % 2 == 0}
Ennek eredménye:
{0: 0, 2: 4, 4: 16, 6: 36, 8: 64}
Most, hogy már ismeri a megértés szintaxisát, vessünk néhány példát a megértésre.
Példák a szótári megértésre
Erőteljes és elegáns szintaxisának köszönhetően a szótári megértés számos felhasználási lehetőséget talál. Időt takaríthatnak meg, és olvashatóbbá tehetik a kódot.
Számok leképezése a négyzeteikre
Tekintsünk egy egyszerű példát, ahol olyan szótárt szeretne létrehozni, amely a számokat a négyzeteikre képezi le Python szótári értelmezések segítségével:
squares = {x: x**2 for x in range(1, 6)}
print(squares)
Ez a következő kimenetet adja:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
A fenti kód ugyanazt a feladatot végzi el, mintha egy ciklust hatszor lefuttatna, és minden számot négyzetre emelne. Az alábbi kód egy ciklus futtatását mutatja be a számok négyzeteinek felvételéhez:
squares = {}
for x in range(1, 6):
squares[x] = x ** 2
print(squares)
Ezen a ponton talán azon töprenghet, hogy miért használja a szövegértést, amikor használhat hurkokat. A programozásban az a ökölszabály, hogy kompakt és hatékony kódot kell írni.
Feltételeket is alkalmazhatsz a szövegértésedhez. Létrehozhat például egy szótárt, amely csak páros számokat és azok négyzeteit tartalmazza:
even_squares = {x: x**2 for x in range(1, 6) if x % 2 == 0}
print(even_squares)
Ennek a kódnak a futtatásával egy új szótár jön létre, például a következő:
{2: 4, 4: 16}
Fordított kulcsok és értékek
Könnyedén megfordíthatja a szótárelemeket a szótár megértésével Pythonban.
A következő kód bemutatja, hogyan lehet megfordítani egy meglévő szótár kulcsait és értékeit a szótár megértésével:
original_dict = {"one": 1, "two": 2, "three": 3, "four": 4}
reversed_dict = {v: k for k, v in original_dict.items()}
print(reversed_dict)
A fenti szótári szövegértés (vagy diktatúra) a következőket nyomtatja ki:
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
Ha szeretné jobban megérteni, mik azok a szótárak, és hogyan használhatja őket különböző esetekben, tekintse meg az alábbi videót:
A bemutatott példák szilárd alapot nyújtanak a szótár megértésének alkalmazásához Python-projektjeiben.
Ezenkívül a szótár értelmezése tovább optimalizálható, lehetővé téve egyetlen kódsornak, hogy olyan összetett feladatokat hajtson végre, amelyek több időt és memóriát fogyaszthatnak a hurkok segítségével.
A szótári megértés 3 fő előnyei
A bemutatott példákon keresztül megtapasztalhatta a szótári megértés eleganciáját. Az olvashatóságon kívül a megértés számos előnnyel jár, beleértve a hatékonyságot is, amikor a Python hatékony kulcs/érték hash táblázatszerkezetével, az úgynevezett diktatúrával dolgozik .
1. Világos és egyszerű kód létrehozása
A szövegértés lehetővé teszi új szótárak könnyű és olvasható módon történő létrehozását. A hagyományos ciklusokhoz képest Pythonicabb megjelenést és érzetet biztosítanak a kódnak.
2. Jobb teljesítmény stílussal
A megértés nemcsak elegáns, hanem hatékony is. Gyakran gyorsabban működnek, mint a ciklusoknál, mivel egyetlen kifejezést használnak. A Python optimalizálja ezt a fajta kódot, így nincs szükség a szótár konstruktorának ismételt meghívására vagy az update() metódus használatára.
3. Egyszerű szűrés és adatátalakítás
A szótári megértés másik előnye az adatok szűrésének és átalakításának egyszerűsége. Létrehozhat például egy új szótárt egy meglévő szótárból egy feltétel alkalmazásával vagy a kulcsok vagy értékek módosításával.
Alapvető fontosságú, hogy megértsük, mikor kell szótári szövegértést használni Pythonban, mivel ezek gyorsan bonyolulttá válhatnak, és nehezebben olvashatók és írhatók. Most nézzünk meg néhány használati esetet a szótár megértéséhez Pythonban.
3 Példa arra, hogy mikor kell használni a szótár megértését
A megértés a következő 3 esetben hasznos:
1. Amikor szótárt hoz létre két listából
{key:value for key, value in zip(list1, list2)}
2. A szótár érték alapján történő szűrésekor
{k: v for k, v in original_dict.items() if v > threshold}
3. Kulcsok vagy értékek átalakítása során
{k.upper(): v * 2 for k, v in original_dict.items()}
Fontos észben tartani, hogy bár a megértés elegánsabbá és hatékonyabbá teheti a kódot, az is nehezen olvashatóvá válhat, ha túlságosan összetett.
Nézzünk meg néhány leggyakoribb buktatót a szótári megértés használatakor.
A szótári megértés buktatói
A szótári szövegértés eleganciát és hatékonyságot hoz, de kihívásokkal is jár. Megvitatjuk a nagy adatkészletek olvashatóságával, összetettségével és teljesítményével kapcsolatos gyakori buktatókat.
A komplexitás és az olvashatóság egyensúlya
Az összetett szótári értelmezések nehezen olvashatók. Részesítse előnyben a kód olvashatóságát, különösen, ha másokkal dolgozik. Egyes esetekben a hagyományos for loop egyszerűbb és karbantarthatóbb lehet.
Teljesítmény nagy adatkészletekkel
Nagy adathalmazok esetén előfordulhat, hogy a szótári értelmezés nem mindig optimális. A Stack Overflow szerint a beépített dict() konstruktor számos kulcs-érték párral felülmúlhatja a szótárak értelmezéseit a C-ben való ciklus miatt.
Összehasonlítás más módszerekkel
Ebben a részben összehasonlítjuk a szótárak megértését a Pythonban készült szótárkészítés két alternatív módszerével: a ciklusokhoz és a lambda függvényekhez.
For Loop
A for hurok használata szótár létrehozásához magában foglalja egy üres szótár inicializálását, majd a kívánt érvényes kulcsértékpáron való iterációt, és minden pár hozzáadását a szótárhoz. Ez egy bőbeszédűbb módszer a szótári megértéshez képest.
A következő példa egy szótár létrehozására a for ciklusok használatával:
dictionary = {}
for key, value in zip(keys, values):
dictionary[key] = value
Ezzel szemben a szótár megértése lehetővé teszi ugyanazt az eredményt egyetlen sorban:
dictionary = {key: value for key, value in zip(keys, values)}
Amint láthatja, a szövegértés tömör és olvashatóbb módot kínál a szótárak létrehozására Pythonban.
Lambda funkciók
Lambda függvényeket is használhatunk szótárak létrehozásához. A lambda-függvények kis, névtelen függvények létrehozásának módjai a Pythonban. A map() függvénnyel együtt használhatók szótár létrehozására.
Nézzünk egy példát a Lambda függvényekre a szótárak létrehozásához:
keys = ['a', 'b', 'c']
values = [1, 2, 3]
key_value_pairs = map(lambda key, value: (key, value), keys, values)
dictionary = dict(key_value_pairs)
Összehasonlításképpen a következőképpen hozható létre ugyanaz a szótár szövegértés használatával:
dictionary = {key: value for key, value in zip(keys, values)}
A szótárak értelmezése ismét tömör és olvashatóbb alternatívát kínál a lambda-függvények és a map() függvény segítségével történő szótárak létrehozásához.
A szótári megértés legjobb gyakorlatai
Amikor szövegértést használ Pythonban, elengedhetetlen a bevált gyakorlatok követése az olvashatóság, a karbantarthatóság és a hatékonyság javítása érdekében. Íme néhány megfontolandó bevált gyakorlat:
1. Legyen egyszerű a szótári szövegértés
A szótári megértés erős, de világosnak és tömörnek kell lennie. Ha a szövegértésed túl bonyolult lesz, vagy több sort is átível, fontold meg a hagyományos for ciklus használatát. Ez segíti a kód megértését, különösen mások számára, vagy amikor később újra felkeresi a munkáját.
2. Használja ki a beépített funkciókat
A Python olyan beépített függvényeket kínál, mint a zip() és az enumerate(), amelyek segítenek megérteni. Használja ezeket a funkciókat a kód egyszerűsítéséhez és olvashatóbbá tételéhez.
Például a zip() használatával két lista összevonása és egy szótár létrehozása a következő tömör és tiszta kódot eredményezi:
{key: value for key, value in zip(keys, values)}
3. Használja bölcsen a feltételes állításokat
Ha szükséges, illesszen be feltételes állításokat a megértésébe, de ne használja őket túlzásba. Segíthetnek szűrni vagy módosítani az eredményül kapott szótárt, de a túl sok beágyazott feltétel megnehezítheti a kód olvashatóságát. Egy egyszerű példa egy feltételes utasításra:
{x: x**2 for x in range(10) if x % 2 == 0}
4. Ügyeljen a beágyazott szótár megértésére
A beágyazott szótár értelmezése beágyazott szerkezetű szótárakat hozhat létre. A feltételes utasításokhoz hasonlóan azonban a túl sok beágyazott szótár megnehezítheti a kód megfejtését. A beágyazott szótár megértésében ne lépje túl a beágyazás két szintjét.
Előfordulhat, hogy a kívánt hatékonyság eléréséhez beágyazott szótári értelmezést kell használnia a ciklusokon belül.
Az utolsó mondatunk
Mostanra már elsajátította a szótár megértését Pythonban. Ez az elegáns, hatékony technika segít szótárak létrehozásában az iterálható elemeken való ismétléssel vagy feltételek használatával. A megértések leegyszerűsítik a kódot, javítva az olvashatóságot és a karbantarthatóságot.
Új szótárak létrehozása egyszerű és érthető, így időt és erőfeszítést takarít meg a hagyományos for-loopokhoz képest. Hasznosak az olyan valós alkalmazásokban, mint az adatfeldolgozás, a leképezés és az átalakítás.
Ha szeretné továbbfejleszteni Python-tudását, és igazi profi lenni, látogasson el Python-tanfolyamunkra, és nézze meg, hogyan hozzuk létre a világ legjobb Python-felhasználóit.
Hogyan kommentáljunk Pythonban – Rövid útmutató kezdőknek
Ez az oktatóanyag áttekintést nyújt a Power Query szerkesztőről és az M nyelvről a LuckyTemplates asztalon.
Ismerje meg, hogyan hozhat létre oldalszámozott jelentést, hogyan adhat hozzá szövegeket és képeket, majd exportálhatja a jelentést különböző dokumentumformátumokba.
Ismerje meg, hogyan használhatja a SharePoint automatizálási funkcióját munkafolyamatok létrehozására, és segít a SharePoint-felhasználók, -könyvtárak és -listák mikrokezelésében.
Fejlessze jelentéskészítési készségeit, ha csatlakozik egy adatelemzési kihíváshoz. Az Accelerator segítségével LuckyTemplates szuperfelhasználóvá válhatsz!
Ismerje meg, hogyan számíthatja ki a futó összegeket a LuckyTemplates programban a DAX segítségével. Az összesítések futtatása lehetővé teszi, hogy ne ragadjon le egyetlen egyéni eredménynél sem.
Ismerje meg a változók fogalmát a DAX-ban a LuckyTemplates-en belül, és a változók hatásait a mérőszámok kiszámítására.
Tudjon meg többet a LuckyTemplates Slope diagram nevű egyéni vizualizációról, amely egyetlen vagy több mérőszám növekedésének/csökkenésének megjelenítésére szolgál.
Fedezze fel a LuckyTemplates színtémáit. Ezek elengedhetetlenek ahhoz, hogy jelentései és vizualizációi zökkenőmentesen nézzenek ki és működjenek.
Az átlag kiszámítása a LuckyTemplates alkalmazásban számos módon elvégezhető, hogy pontos információkat kapjon üzleti jelentéseihez.