Android

Python räknas upp

44 Функция enumerate Python

44 Функция enumerate Python

Innehållsförteckning:

Anonim

enumerate() är en inbyggd funktion i Python som låter dig ha en automatisk räknare medan du slingrar över iterables.

Python enumerate() -funktion

Funktionen enumerate() har följande form:

enumerate(iterable, start=0)

Funktionen accepterar två argument:

  • iterable - Ett objekt som stöder iteration. start - Det nummer från vilket räknaren startar. Detta argument är valfritt. Som standard startar räknaren från 0.

enumerate() returnerar ett enumerate-objekt på vilket du kan ringa __next__() (eller next() i Python 2) -metoden för att få en tupel som innehåller en räkning och det aktuella värdet för den iterable.

Här är ett exempel på hur man skapar en lista över tupler med hjälp av list() och hur man kan slinga över en iterable:

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

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

Om den nollbaserade indexeringen inte fungerar för dig väljer du ett annat startindex för uppräkningen:

directions = list(enumerate(directions, 1))

Funktionen enumerate() fungerar på alla iterable objekt. En iterable är en behållare som kan itereras över. Om du säger det i enkla ord betyder det ett objekt som du kan slinga över med en for loop. De flesta av de inbyggda föremål i Python som strängar, listor och tuplor är iterables.

Skriv mer Pythonic-kod med enumerate()

Pythons for loop är helt annorlunda än den traditionella C-stilen for loop som finns på många programmeringsspråk. foreach loopen i Python motsvarar andra språk ' foreach loop.

En vanlig teknik som används av nya Python-utvecklare för att få motsvarande index vid hantering av iterables är att använda antingen range(len(…)) eller ställa in och öka en räknare:

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

Slingorna ovan kan skrivas om på ett mer idiomatiskt sätt med hjälp av enumerate() :

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

Alla metoder ger samma utgång:

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

Slutsats

, vi har visat dig hur du använder Pythons enumerate() .

pytonorm