Android

Výčet Pythonu

Enumerate - Intermediate Python Programming p.7

Enumerate - Intermediate Python Programming p.7

Obsah:

Anonim

enumerate() je vestavěná funkce v Pythonu, která vám umožní mít automatický čítač při opakování přes iterables.

Funkce Python enumerate()

Funkce enumerate() má následující podobu:

enumerate(iterable, start=0)

Funkce přijímá dva argumenty:

  • iterable - Objekt, který podporuje iteraci. start - Číslo, od kterého začíná počítadlo. Tento argument je volitelný. Ve výchozím nastavení čítač začíná od 0.

enumerate() vrací enumerovaný objekt, na který můžete zavolat metodu __next__() (nebo next() v Pythonu 2) a získat n-tici obsahující počet a aktuální hodnotu iterable.

Zde je příklad, jak vytvořit seznam n-tic pomocí list() a jak opakovat iterovatelný:

directions = list(enumerate(directions)) for index, value in enumerate(directions): print("{}: {}".format(index, value))

0: north 1: east 2: south 3: west

Pokud pro vás indexování na základě nuly nefunguje, vyberte pro výčet jiný počáteční index:

directions = list(enumerate(directions, 1))

Funkce enumerate() funguje na libovolném iterovatelném objektu. Iterable je kontejner, který lze iterovat přes. Zjednodušeně řečeno to znamená, že objekt, který můžete opakovat pomocí smyčky for . Většina vestavěných objektů v Pythonu, jako jsou řetězce, seznamy a n-tice, jsou iterable.

Napište další pythonický kód s enumerate()

Python for smyčku se zcela liší od tradičního stylu C for smyčku, který je k dispozici v mnoha programovacích jazycích. Smyčka for v Pythonu je ekvivalentní smyčce foreach jiných jazyků.

Běžnou technikou, kterou noví vývojáři Pythonu používají k získání odpovídajícího indexu při práci s iterables, je použití vzoru range(len(…)) nebo nastavení a zvýšení čítače:

planets = for i in range(len(planets)): print("Planet {}: {}".format(i, planets))

planets = i = 0 for planet in planets: print("Planet {}: {}".format(i, planet)) i += 1

Smyčky výše mohou být přepsány idiomatičtějším způsobem pomocí enumerate() :

planets = for index, value in enumerate(planets): print("Planet {}: {}".format(index, value))

Všechny metody vytvoří stejný výstup:

Planet 0: Mercury Planet 1: Venus Planet 2: Earth Planet 3: Mars Planet 4: Jupiter Planet 5: Saturn Planet 6: Uranus Planet 7: Neptune

Závěr

, ukázali jsme vám, jak používat funkci enumerate() Pythonu.

krajta