44 Функция enumerate Python
Innehållsförteckning:
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()
.
Google räknas mer än 1 biljon unika webbadresser
Google har identifierat mer än 1 biljon unika webbadresser på webben.
Recession Hits Blu-Ray där det räknas
Blu-ray är den förmodade formatvinnaren, men varför ställer den inte försäljningsrekord? > Teknikanalytiker förutser en kall vinter för Blu-ray. Roger Kay, VD för Endpoint Technologies Associates, säger att Blu-ray-försäljningen kommer att uppleva en dramatisk nedgång under semesterperioden och bortom, fördröja adoptionsprocessen och sätta allvarlig skada på försäljningen.
Aol blir oberoende, räknas på innehåll för framgång
Aol är officiellt ett självständigt företag, men utmaningarna är överflödiga. segla som ett oberoende, börsnoterat företag på torsdagen, efterlämna sitt moderbolag Time Warner och påbörja sig en resa som kan vara turbulent.







