Python enumerate() Funksjon: Løkke, tuple og streng

⚡ Smart oppsummering

Python enumerate() legger til en automatisk teller til alle itererbare, returnerende indeks-verdi-par mens du kjører en løkke. Her lærer du syntaksen, den valgfrie startindeksen og hvordan den fungerer på lister, tupler, strenger og ordbøker.

  • 🔢 Hva den gjør: Legger til en teller til hvert element i et itererbart, returnerende indeks-verdi-par.
  • ⚙️ Syntaks: enumerate(iterbar, startIndex) tar en iterbar pluss et valgfritt startnummer.
  • 🔟 Tilpasset start: startIndex angir hvor tellingen begynner; utelat den for å starte på 0.
  • 🔁 Looping: Koble den til en for-løkke for å lese indeks og verdi sammen.
  • 📦 Enhver itererbar: Fungerer på lister, tupler, strenger og ordbøker.
  • 🤖 AI-hjelp: Copilot og AI-verktøy fullfører automatisk enumerate()-løkker og refaktorerer manuelle tellere.

Enumerate() Funksjon i Python

Hva er Python Oppregne?

Python Enumerate() er en innebygd funksjon tilgjengelig med Python bibliotek. Den tar den gitte inngangen som en samling eller tupler og returnerer den som et oppregne objekt. De Python Enumerate()-kommandoen legger til en teller til hvert element i det itererbare objektet og returnerer et enumerate-objekt som en utdatastreng.

Syntaks av Python oppregne ()

enumerate(iterable, startIndex)

Parametre

Tre parametere er:

  • Iterabel: et objekt som kan loopes.
  • Startindeks: (valgfritt) Antallet vil starte med verdien gitt i startindeksen for det første elementet i løkken og øke det for neste element til det når slutten av løkken.

Imidlertid, hvis startIndex ikke er spesifisert, vil tellingen starte fra 0.

Returverdi

Det vil returnere et iterabelt objekt, med telleverdi for hvert av elementene til iteratorobjektet gitt som input.

Enumerate() i Python Eksempel

Enumerate-metoden kommer med en automatisk teller/indeks for hvert av elementene som finnes i Enumerate-listen i Python. Firstindex-verdien starter fra 0. Du kan også spesifisere startindex ved å bruke den valgfrie parameteren startIndex i enumerate.
Eksempel
I koden nedenfor er mylist listen gitt til Enumerate-funksjonen i Python. De list() funksjon brukes til å vise Enumerate Python utgang.

OBS: Det er ingen startindeks brukt, derfor vil indeksen for det første elementet starte fra 0.

Utdata fra enumerate vil være på følgende måte:

(0, item_1), (1, item_2), (2, item_3), … (n, item_n)

Fil: python_enumerate.py

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist)
print(list(e_list))

Utgang:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

UsingEnumerate() på en liste med startIndex

I eksemplet nedenfor, startindeksen gitt som 2. Indeksen til det første elementet vil starte fra den gitte startindeksen.

Eksempel:

I eksemplet nedenfor er mylist listen som er gitt å telle opp. List()-funksjonen brukes til å vise enumerate output.

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist,2)
print(list(e_list))

Utgang:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

Looping Over et Enumerate-objekt

Eksemplet viser opptelling over et objekt med og uten startIndex.

  • Den første for-løkken har ikke startIndex, så indeksen starter fra 0.
  • Den andre for-løkken har startIndex som 10, så indeksen starter fra 10.

Eksempel:

mylist = ['A', 'B' ,'C', 'D']

for i in enumerate(mylist):
  print(i)
  print("\n")

print("Using startIndex as 10")    

for i in enumerate(mylist, 10):
  print(i)
  print("\n")

Utgang:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')

Using startIndex as 10
(10, 'A')
(11, 'B')
(12, 'C')
(13, 'D')

Oppregning av en tuppel

I eksemplet nedenfor kan du bruke en tuppel i en oppregning. Du kan også bruke en startIndex, og nøkkelen til hvert element starter fra startIndexgiven.

Som standard er startindeksen 0. Der ser du derfor nøkkelen som 0 for elementer A og 1 for B og så videre.

Eksempel:

my_tuple = ("A", "B", "C", "D", "E")
for i in enumerate(my_tuple):
  print(i)

Utgang:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
(4, 'E')

Oppregne en streng

In Python, strengen er en matrise, og derfor kan du løkke over den. Hvis du sender en streng til enumerate(), vil utdata vise deg indeksen og verdien for hvert tegn i strengen.

Eksempel:

my_str = "Guru99 "
for i in enumerate(my_str):
  print(i)

Utgang:

(0, 'G')
(1, 'u')
(2, 'r')
(3, 'u')
(4, '9')
(5, '9')

Oppregne en ordbok

In Python, er en ordbok oppført i krøllete parenteser, innenfor disse krøllete parentesene er verdiene deklarert.

Hvert element er et nøkkel/verdi-par og atskilt med komma. Du kan bruke en ordbok i en enumerate() og se resultatet.

my_dict = {"a": "PHP", "b":"JAVA", "c":"PYTHON", "d":"NODEJS"}
for i in enumerate(my_dict):
  print(i)

Utgang:

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

Fordeler med å bruke Enumerate

Her er fordeler/fordeler med å bruke Enumerate in Python:

  • Enumerate lar deg gå gjennom en liste, tuppel, ordbok, streng, og gir verdiene sammen med indeksen.
  • For å få indeksverdi ved å bruke for-loop, kan du bruke list.index(n). List.index(n) er imidlertid veldig dyrt da den vil krysse for-løkken to ganger. Enumerate er veldig nyttig i et slikt tilfelle da det gir indeksen og elementene på en gang.

Spørsmål og svar

enumerate() er en innebygd funksjon som legger til en teller til en iterabel funksjon som en liste, tuple, streng eller ordbok, og returnerer indeks-verdi-par.

Syntaksen er enumerate(iterable, startIndex). Iterable er et hvilket som helst loopbart objekt; startIndex er et valgfritt starttall. Uten det starter tellingen fra 0.

Send inn et andre argument, som enumerate(mylist, 2). Tellingen starter da fra den verdien i stedet for 0, slik at det første elementet får indeks 2.

Ja. Når en ordbok sendes, går det en løkke over nøklene, og hver av dem kobles til en indeks. List opp ordbokens items() når du også trenger verdiene.

enumerate() er renere og raskere enn en manuell index eller list.index(n), som skanner to ganger og returnerer index og item sammen.

AI-assistenter som GitHub Copilot autofullfør enumerate()-løkker, foreslår en startIndex og refaktorerer manuelle tellere, noe som fremskynder idiomatiske Python og fange opp feil én etter én.

Ja. AI-drevne lintere automatiserer denne refaktoreringen, oppdager range(len(x))-mønstre og omskriver dem som enumerate(x) for renere og mer oversiktlig informasjon. Pythonic-løkker med identisk oppførsel.

enumerate() returnerer et enumerate-objekt, en iterator av (indeks, verdi)-par. Løkker den direkte eller pakker den inn i list() for å se alle parene.

Oppsummer dette innlegget med: