Python Enumerate: magyarázat példákkal

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.

Python Enumerate: magyarázat példákkal

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.

Python Enumerate: magyarázat példákkal

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ó:

Python Enumerate: magyarázat példákkal

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.

Python Enumerate: magyarázat példákkal

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ó:

Python Enumerate: magyarázat példákkal

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ó:

Python Enumerate: magyarázat példákkal

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ó:

Python Enumerate: magyarázat példákkal

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.

Python Enumerate: magyarázat példákkal

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.

Python Enumerate: magyarázat példákkal

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).

Python Enumerate: magyarázat példákkal

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.

Python Enumerate: magyarázat példákkal

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:

  1. Az Enumerate használata Python osztályokkal

  2. Az Enumerate használata az Enum osztályokkal

  3. 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.

Python Enumerate: magyarázat példákkal

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ó:

Python Enumerate: magyarázat példákkal

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.

Python Enumerate: magyarázat példákkal

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!


Arány- és gyakorisági táblázatok Excelben

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 DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

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.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

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.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

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.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

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.

A legerősebb funkcióhívás a LuckyTemplatesben

A legerősebb funkcióhívás a LuckyTemplatesben

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.

Adatmodellezési technikák a DAX-mérések megszervezéséhez

Adatmodellezési technikák a DAX-mérések megszervezéséhez

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.

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

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.

A Power Query nyelvi folyamatának bevált gyakorlatai

A Power Query nyelvi folyamatának bevált gyakorlatai

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.

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

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.