Python, Az enumerate() függvény használata: Egy lista elemeinek és indexeinek lekérdezése

Üzleti

A Python enumerate() függvényével egy for ciklusban az index számát (szám, sorrend), valamint egy iterálható objektum, például egy lista vagy egy tuple elemeit kaphatjuk meg.

Ez a cikk az enumerate() függvény alapjait ismerteti.

  • Funkció az index kinyerésére egy for ciklusban: enumerate()
    • Normál for ciklus
    • Az enumerate() függvényt használó ciklushoz
  • Az enumerate() függvény indexének kezdőértéke 1 (nem nulla érték).
  • Adja meg az inkrementumot (lépés)

Az enumerate() függvény használható az index lekérdezésére egy for ciklusban.

Normál for ciklus

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

Az enumerate() függvényt használó ciklushoz

Adjon meg egy iterálható objektumot, például egy listát az enumerate() függvény argumentumaként.

Az indexszámot és az elemet ebben a sorrendben kaphatja meg.

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

Az enumerate() függvény indexének kezdőértéke 1 (nem nulla érték).

Ahogy a fenti példában látható, az enumerate() függvény indexe alapértelmezés szerint 0-ról indul.

Ha a 0-tól eltérő számmal szeretnénk kezdeni, adjunk meg egy tetszőleges kezdőszámot az enumerate() függvény második argumentumaként.

Ha a nulláról akarja kezdeni, tegye a következőket.

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

Természetesen más számokkal is lehet kezdeni.

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

Hasznos, ha sorszámozott karakterláncot akarsz létrehozni; okosabb, ha a kezdőszámot az enumerate() függvény második argumentumaként adod meg, mintha az 'i+1'-et használnád az 1-ről való induláshoz.

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

A formátum függvényről, amely a számok nullákkal való kitöltésére szolgál, a következő cikkben olvashat bővebben.

Adja meg az inkrementumot (lépés)

Az enumerate() függvényben nincs argumentum az inkrementális lépés megadására, de ez a következő módon érhető el

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie
Copied title and URL