Arány- és gyakorisági táblázatok Excelben
Az Excel gyakorisági táblázataiban, valamint az aránytáblázatokban készültek. Nos, nézze meg, mik ezek, és mikor kell használni őket.
A listákkal és más iterálható objektumokkal való munka gyakori feladat a . Időnként előfordulhat, hogy végig kell görgetnie ezeket az iterációkat, miközben nyomon kell követnie az aktuális elem indexét vagy számát. Itt jön a segítség a Python beépített enumerate() függvénye.
A Python enumerate() függvénye kényelmes módot biztosít az elem indexének és magának az elemnek a elérésére, amikor egy listán vagy bármely iterálható objektumon keresztül lépeget.
Ez a funkció a , olvashatóvá és hatékonysá teszi. Lehetővé teszi az elemek közötti ciklust, és mind az indexüket, mind az értéküket lekérheti. A cikluson belüli számláló kézi inicializálása és növelése helyett az enumerate()-re hagyatkozhat, hogy elvégzi a munkát Ön helyett.
Ebből a cikkből megismerheti a Python beépített enumerate() függvényét, annak fontosságát a Python- kódban, valamint használati eseteit.
Menjünk bele!
Tartalomjegyzék
Mi az a Python Enumerate függvény?
Képzelje el, hogy egy lista adatstruktúrával dolgozik, és szeretne valamit tenni az egyes elemekkel, de ismernie kell az elem pozícióját is a listában.
A Python enumerate() nélkül dönthet úgy, hogy egy számlálóváltozót használ, amelyet minden ciklusiterációban növel. De ez a megközelítés hajlamos lehet a hibákra, és nem túl „pythonic”.
Az Enumerate a Python beépített funkciója, amely lehetővé teszi az iterálható objektumok közötti iterációt, miközben nyomon követi az aktuális elem indexét.
Most, hogy megértette, mi az enumerate() függvény a Pythonban, térjünk át a Python enumerate() függvény szintaxisára a következő részben!
Mi a Python Enumerate függvény szintaxisa?
A függvény szintaxisa határozza meg, hogyan kell használni a függvényt a kódban, beleértve, hogy milyen argumentumokat vesz fel, és mit ad vissza.
Az enumerate() függvény a következő szintaxist veszi fel:
enumerate(, start=0)
: Ez egy kötelező paraméter, és lehet bármilyen Python iterálható, például lista vagy sor.
start : Ez a második paraméter egy opcionális paraméter, amely a számláló kezdőértékét adja meg. Alapértelmezés szerint 0-ra van állítva.
Az enumerate() függvény visszatérési értéke egy enumerate objektum, amely egy iterátor, amely az adott iteráció minden eleméhez (index, elem) párokat tartalmaz.
Ezt az iterátort használhatja az a-ban az index és az elem egyidejű eléréséhez.
A következő példa bemutatja, hogyan használhatja az enumerate() függvényt egy listával:
fruits = ['apple', 'banana', 'cherry']
for index, item in enumerate(fruits):
print(index, item)
Ebben a példában az enumerate() ciklus áthalad az enumerate objektumon, azaz a gyümölcslistán , és minden elemhez indexet rendel, 0-tól kezdve.
A for ciklus ezután kicsomagolja az indexet és az elemet a felsorolt objektumból. Ez lehetővé teszi a műveletek végrehajtását mind az index, mind az elem értéke alapján.
Az index és a tétel képernyőre történő kinyomtatásához a nyomtatás funkciót használjuk. A kód kimenete az alábbi képen látható:
A kimeneten látható, hogy a kezdő index 0. Ez a Python értelmező által automatikusan hozzárendelt index alapértelmezett értéke.
Megadhat azonban egy másik kezdőértéket is a számláló számára, ha megadja az opcionális start paramétert az alábbi kód szerint:
for index, item in enumerate(fruits, start=1):
print(index, item)
A kimenet hasonló lesz a fentihez. Az egyetlen különbség az lesz, hogy az index most 1-től kezdődik.
Tehát most már van egy fogantyú az enumerate() függvény szintaxisához a Pythonban. De mint minden eszköznél, itt is fontos tudni, mikor és hol kell használni.
Ezért a következő részben az enumerate() függvény néhány gyakori használati esetét vizsgáljuk meg!
5 A Python Enumerate függvény használati esetei
A Python felsorolás funkcióját széles körben használják olyan esetekben, amikor az iterálható objektum indexe és értéke egyaránt fontos a programozó számára.
Az alábbiakban felsoroltunk néhány gyakori használati esetet a Python felsorolási függvényeihez.
1. Az Enumerate használata Python listákkal
A Pythonban az a egy beépített adatstruktúra, amely lehetővé teszi több elem tárolását egyetlen változóban. Gondoljon egy listára úgy, mint egy konténerre, ahová különféle elemeket helyezhet el, és ők fenntartják a sorrendjüket.
Az enumerate() függvény számos módon használható listákon, például:
A. Listaelemek és indexeik elérése a Python Enumerate segítségével
Az enumerate() egyik leggyakoribb használati esete az, amikor a lista elemeihez és azok indexeihez is hozzá kell férni. Az Enumerate segítségével ezt tiszta és hatékony módon teheti meg.
A következő példa egy lista elemeinek és azok indexeinek elérésére látható:
fruits = ['apple', 'banana', 'mango', 'grape', 'orange']
for index, fruit in enumerate(fruits):
print(f"At index {index}, the fruit is {fruit}.")
Ennek a kódnak a kimenete az alábbi képen látható:
B. Listaelemek módosítása Python Enumerate segítségével
Ha módosítani kell egy lista elemeit az indexük alapján, az enumerate() kiváló eszköz. A cikluson belül elérheti az indexet, és módosíthatja a listát.
A következő példa a listaelemek enumerate funkcióval történő módosítására:
numbers = [1, 2, 3, 4, 5]
for i, num in enumerate(numbers):
numbers[i] = num * 2
Ez a Python-kód létrehoz egy számlistát 1-től 5-ig. Ezután egy for ciklust és az enumerate() függvényt használ a lista ismétléséhez.
Minden iterációnál megszorozza az aktuális számot (szám) 2-vel, és újra hozzárendeli a listában ugyanarra a helyre (számok[i]).
Az eredmény az, hogy az eredeti listában minden szám megduplázódik, ahogy az alábbi képen látható:
C. Két lista elemeinek összehasonlítása a Python Enumerate segítségével
Ha két különböző lista elemeit hasonlítja össze, az enumerate() megadhatja azt az indexet, amelyre szüksége van mindkét lista elemeinek egyidejű eléréséhez.
Az alábbiakban egy példa látható az enumerate függvény használatával két lista elemeinek összehasonlítására:
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 0, 5]
for i, value in enumerate(list1):
if value != list2[i]:
print(f"Difference at index {i}: {value} (list1) vs {list2[i]} (list2)")
Ebben a kódban először két listát definiálunk, a list1-et és a list2-t. Ezután a list1-en keresztül iterálunk egy for ciklust használva az enumerate(), amely megadja az indexet (i) és az egyes elemek értékét.
Ha a lista1 aktuális eleme nem egyezik a list2 megfelelő elemével, akkor mindkét listából kiírja a különbség indexét és az eltérő értékeket.
A kód eredménye az alábbiakban látható:
2. Az Enumerate használata Python Tuple-ekkel
A Pythonban a sor az elemek rendezett gyűjteménye, hasonlóan a listához. Az egyetlen különbség az, hogy a tuple változtathatatlan, ami azt jelenti, hogy létrehozása után nem módosíthatja a tartalmát.
Az alábbiakban bemutatunk néhány olyan esetet, amikor az enumerate funkciót Python soraival használhatja.
V. A Python Enumerate() használata elem keresésére a Tuple-ban
Amikor a Python soraival foglalkozik, gyakran meg kell találnia, hogy létezik-e elem egy sorban.
A következő példakód bemutatja az enumerate használatát egy sor elemeinek keresésére:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
for i, fruit in enumerate(fruits):
if fruit == 'mango':
print(f"'mango' found at position {i}")
Ez a kód a „2. pozícióban található mangó” szöveget írja ki, mivel a „mango” a 2. indexen található a sorban.
B. Python Enumerate() használata szótár létrehozására sorból
Ha van egy sora, és szótárrá kell alakítania, a Python enumerate() függvénye lehet a megfelelő eszköz.
A példakód bemutatja, hogyan hozhat létre szótárt egy sorból az enumerate használatával:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
fruit_dict = {i: fruit for i, fruit in enumerate(fruits)}
print(fruit_dict)
Ez a kód egy szótárt nyomtat, ahol a kulcsok az indexek, az értékek pedig a sor elemei.
3. Az Enumerate használata Python szótárak segítségével
A Pythonban a szótár egy változtatható, rendezetlen , ahol minden kulcsnak egyedinek kell lennie. Tekintsd úgy, mint egy valós szótárat: kikeresel egy szót (a kulcsot), és megkapod a definícióját (az értéket).
Az alábbiakban felsorolunk néhány olyan esetet, amikor használhatja az enumerate funkciót Python szótárakkal:
A. Egy szótár kulcsai és értékei áttekintése
Használhatja az enumerate() függvényt a szótár kulcsai és értékei közötti ciklusok között.
Az enumerate() függvény hozzáad egy számlálót egy iterálható objektumhoz (például szótárhoz), lehetővé téve az aktuális indexérték elérését.
Az alábbiakban egy szótár található:
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, k in enumerate(example_dict):
print(i, k)
Ebben a Python-kódban először létrehozunk egy példa_dict nevű szótárt . Ezután az enumerate() függvényt használjuk a szótárban való iterációhoz.
Minden iterációnál kiírjuk a szótárból a ciklusszámot (amit i ad meg és 0-tól kezdődik) és az aktuális kulcsot (ami k).
B. A Python Enumerate és az Items függvény kombinálása
A szótár kulcsait és értékeit is elérheti az items() függvényen keresztül az enumerate() -val együtt . Az items() függvény kulcs-érték párok iterálható gyűjteményét adja vissza sorként.
Az alábbi példa bemutatja, hogyan használhatja az items() függvényt az enumerate() függvényben :
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, (k, v) in enumerate(example_dict.items()):
print(i, k, v)
Ebben a kódban egy szótárt hozunk létre, majd az enumerate() függvényt használjuk a szótár kulcs-érték párjain való iterációhoz. Minden iteráció során kiírjuk az „i” ciklusindexet, az aktuális „k” kulcsot és a hozzá tartozó „v” értéket.
Most már alaposan megértette, hogyan használhatja a Python enumerate() függvényét néhány gyakori forgatókönyvben. De az enumerate() még többet kínál.
Nézzünk meg néhány speciális használati esetet az enumerate() körül a következő részben!
3 A Python Enumerate speciális használati esetei
Ebben a részben túllépünk az alapokon, és megvizsgáljuk a Python enumerate funkciójának néhány speciális használati esetét.
A következő felhasználási esetekre térünk ki:
Az Enumerate használata Python osztályokkal
Az Enumerate használata az Enum osztályokkal
Az Enumerate használata a rendelés visszafordításához
Menjünk bele!
1. Az Enumerate használata Python osztályokkal
Python programozási útja során olyan helyzetekkel találkozhat, amikor az enumerate-t egyéni osztályokkal szeretné használni.
Ennek eléréséhez az osztálynak meg kell valósítania az iter() metódust, amely lehetővé teszi, hogy iterálható legyen.
Vegyünk egy Color osztályt , amely a színneveket és a hozzájuk tartozó hexadecimális értékeket tárolja:
class Color:
def __init__(self, colors: dict):
self.colors = colors
def __iter__(self):
return iter(self.colors.items())
colors = Color({"red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"})
for index, (name, hex_value) in enumerate(colors):
print(f"{index}: {name} => {hex_value}")
Ebben a kódban egy Color osztályt hozunk létre, amely a színnevek és a hozzájuk tartozó hexadecimális értékek szótárát veszi fel.
Ha az enumerate()-t használja a ciklusban, akkor minden kulcs-érték párral együtt biztosítja az indexet. Ez lehetővé teszi az index, a szín nevének és hexadecimális értékének kinyomtatását egy formázott karakterláncban.
2. A Python Enumerate használata az Enum osztályokkal
A Python beépített Enum osztályt tartalmaz, amely lehetővé teszi számbavételi típusok létrehozását automatikusan hozzárendelt egész értékekkel.
Például nézze meg a következő kódot:
from enum import Enum, auto
class Direction(Enum):
NORTH = auto()
EAST = auto()
SOUTH = auto()
WEST = auto()
for index, direction in enumerate(Direction):
print(f"{index}: {direction.name} => {direction.value}")
Ebben a szkriptben a Python enum moduljával négy tagú felsorolási irányt határozunk meg (ÉSZAK, KELET, DÉL és NYUGAT). Az auto() függvény minden taghoz automatikus értéket rendel.
Ha az enumerate()-t használja a ciklusban, az minden felsorolási taggal együtt indexet biztosít. Ezzel kinyomtathatja az indexet, a tag nevét és automatikusan hozzárendelt értékét egy formázott karakterláncban.
Ennek a kódnak a kimenete az alábbi képen látható:
3. Python Enumerate használata a sorrend megfordításához
Bizonyos esetekben érdemes lehet fordított sorrendben felsorolni az elemeket. Ezt a reversed() beépített függvény és az enumerate() függvény használatával érheti el .
A következő példa az elemek fordított sorrendben történő felsorolását mutatja be:
my_list = ["apple", "banana", "cherry"]
for index, item in enumerate(reversed(my_list)):
print(f"{index}: {item}")
Ebben a kódban a my_list fordított változatát iteráljuk az enumerate() használatával. Ez biztosítja az indexet és az elemet a fordított lista minden iterációjában. Lehetővé teszi az index és az elem kinyomtatását egy formázott karakterláncban.
A fordított() nem módosítja az eredeti sorozatot; létrehoz egy új iterátort, amely fordított sorrendben mutatja be az elemeket.
Ha többet szeretne megtudni a Python funkcióiról, nézze meg a következő videót:
Végső gondolatok
Ahogy folytatja Python-útját, az enumerate() függvény elsajátítása elengedhetetlen. Ez egy olyan eszköz, amely javítja a kód olvashatóságát és hatékonyságát.
Az enumerate() segítségével zökkenőmentesen hozzáférhet mind az indexhez, mind az értékhez a ciklusokban, csökkentve ezzel az ellenváltozók vagy az indexelés szükségességét. Leegyszerűsíti a kódot, és Pythonicabbá teszi.
Akár listákat, sorokat, karakterláncokat vagy szótárakat iterál, az enumerate() értékes eszköznek bizonyul. Az enumerate() megértésével és gyakorlásával jelentős lépést tesz Python programozási készségeinek fejlesztésében!
Az Excel gyakorisági táblázataiban, valamint az aránytáblázatokban készültek. Nos, nézze meg, mik ezek, és mikor kell használni őket.
Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.
Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.
Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.
Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.
Ebben a blogban fedezze fel a LuckyTemplates adatkészletet, a leghatékonyabb függvényhívást, amely M- és DAX-függvények ezreit juttatja a keze ügyébe.
A mai oktatóanyagban megosztok néhány adatmodellezési technikát a DAX-mérések jobb rendszerezéséhez a hatékonyabb munkafolyamat érdekében.
A LuckyTemplates egy nagyszerű eszköz a pénzügyi jelentésekhez. Itt található egy oktatóanyag, amely bemutatja, hogyan hozhat létre személyre szabott táblázatokat a LuckyTemplates pénzügyi irányítópultjához.
Ez az oktatóanyag megvitatja a Power Query nyelvi folyamatot, és azt, hogyan segíthet zökkenőmentes és hatékony adatjelentések létrehozásában.
Az egyik kedvenc technikámról fogok beszélni a LuckyTemplates egyéni ikonok körül, amely dinamikusan használja az egyéni ikonokat a LuckyTemplates vizualizációkban.