Python enumerate() functie: Lus, tuple en tekenreeks

⚡ Slimme samenvatting

Python De functie `enumerate()` voegt automatisch een teller toe aan elke iterable en retourneert index-waardeparen tijdens het doorlopen van de lus. Hier leer je de syntax, de optionele startindex en hoe de functie werkt op lijsten, tuples, strings en dictionaries.

  • 🔢 Wat het doet: Voegt een teller toe aan elk item van een iterable en retourneert index-waardeparen.
  • ⚙️ Syntax: enumerate(iterable, startIndex) neemt een iterable plus een optioneel startnummer als argumenten.
  • 🔟 Aangepaste start: startIndex bepaalt waar het tellen begint; laat dit weg om bij 0 te beginnen.
  • 🔁 Toiletping: Combineer het met een for-loop om de index en de waarde samen te lezen.
  • ???? Elke iterable: Werkt met lijsten, tuples, strings en dictionaries.
  • 🤖 AI-ondersteuning: Copilot en AI-tools vullen automatisch enumerate()-lussen aan en herschrijven handmatige tellers.

Enumerate() Functie in Python

Wat is Python Opsommen?

Python Opsommen() is een ingebouwde functie die beschikbaar is bij de Python bibliotheek. Het neemt de gegeven invoer als een verzameling of tupels en retourneert deze als een opsommingsobject. De Python De opdracht Enumerate() voegt een teller toe aan elk item van het iterabele object en retourneert een enumerate-object als uitvoerreeks.

Syntaxis van Python opsommen ()

enumerate(iterable, startIndex)

Kenmerken

Drie parameters zijn:

  • Iterable: een object dat in een lus kan worden geplaatst.
  • StartIndex: (optioneel) De telling begint met de waarde die is opgegeven in de startIndex voor het eerste item in de lus en wordt verhoogd voor het volgende item tot het einde van de lus wordt bereikt.

Als startIndex echter niet is opgegeven, begint de telling vanaf 0.

Winstwaarde

Het retourneert een itereerbaar object, met een telwaarde voor elk van de items van het iteratorobject dat als invoer is opgegeven.

Opsommen() in Python Voorbeeld

De Enumerate-methode wordt geleverd met een automatische teller/index voor elk van de items in de Enumerate-lijst in Python. De waarde van firstindex begint vanaf 0. U kunt de startindex ook opgeven door de optionele parameter startIndex in enumerate te gebruiken.
Voorbeeld
In de onderstaande code is mijnlijst de lijst die wordt gegeven aan de Enumerate-functie in Python. De lijst() functie wordt gebruikt om de Enumerate weer te geven Python uitgang.

Let op: Er wordt geen startIndex gebruikt, daarom begint de index voor het eerste item vanaf 0.

De uitvoer van enumerate ziet er als volgt uit:

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

Bestand: python_enumerate.py

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

Output:

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

Enumerate() gebruiken in een lijst met startIndex

In het onderstaande voorbeeld wordt de startindex weergegeven als 2. De index van het eerste item begint vanaf de opgegeven startindex.

Voorbeeld:

In het onderstaande voorbeeld is mijnlijst de lijst die moet worden opgesomd. De functie list() wordt gebruikt om de opsommingsuitvoer weer te geven.

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

Output:

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

Toiletping Boven een Enumerate-object

In het voorbeeld ziet u het opsommen van een object met en zonder startIndex.

  • De eerste for-lus heeft geen startIndex, dus de index begint vanaf 0.
  • De tweede for-lus heeft startIndex als 10, dus de index begint vanaf 10.

Voorbeeld:

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")

Output:

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

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

Een tupel opsommen

In het onderstaande voorbeeld kunt u een tupel in een opsomming gebruiken. U kunt ook een startIndex gebruiken, en de sleutel voor elk item begint vanaf de startIndexgegeven.

Standaard is de startIndex 0. Daarom ziet u de sleutel als 0 voor items A en 1 voor B, enzovoort.

Voorbeeld:

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

Output:

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

Een string opsommen

In Python, is de string een array, en daarom kun je er een loop overheen maken. Als u een string doorgeeft aan enumerate(), toont de uitvoer u de index en waarde voor elk teken van de string.

Voorbeeld:

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

Output:

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

Een woordenboek opsommen

In Python, een woordenboek wordt weergegeven tussen accolades, binnen deze accolades worden de waarden gedeclareerd.

Elk element is een sleutel/waarde-paar en wordt gescheiden door komma's. U kunt een woordenboek binnen een enumerate() gebruiken en de uitvoer bekijken.

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

Output:

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

Voordelen van het gebruik van Enumerate

Hier zijn de voor- en voordelen van het gebruik van Enumerate in Python:

  • Met Enumerate kunt u een lijst, tuple, woordenboek en tekenreeks doorlopen en de waarden samen met de index weergeven.
  • Om de indexwaarde te verkrijgen met behulp van for-loop, kunt u gebruik maken van list.index(n). List.index(n) is echter erg duur omdat het de for-lus tweemaal zal doorlopen. Enumerate is in zo'n geval erg handig, omdat het de index en de items in één keer weergeeft.

Veelgestelde vragen

enumerate() is een ingebouwde functie die een teller toevoegt aan een iterable zoals een lijst, tuple, string of dictionary, en index-waardeparen retourneert.

De syntax is enumerate(iterable, startIndex). De iterable is een willekeurig object dat herhaald kan worden; startIndex is een optioneel startnummer. Zonder dit startnummer begint de telling bij 0.

Geef een tweede argument mee, bijvoorbeeld enumerate(mylist, 2). Het tellen begint dan vanaf die waarde in plaats van 0, waardoor het eerste item index 2 krijgt.

Ja. Door een dictionary door te geven, doorloop je de sleutels en koppel je elke sleutel aan een index. Gebruik de methode `items()` van de dictionary wanneer je ook de waarden nodig hebt.

enumerate() is overzichtelijker en sneller dan een handmatige index of list.index(n), die twee keer scant en de index en het item tegelijk retourneert.

AI-assistenten zoals GitHub Copilot vullen automatisch enumerate()-lussen aan, suggereren een startIndex en herschrijven handmatige tellers, waardoor idiomatische code sneller wordt. Python en het opsporen van fouten die met één getal verschillen.

Ja. AI-gestuurde linters automatiseren deze refactoring, waarbij ze patronen zoals `range(len(x))` herkennen en herschrijven als `enumerate(x)` voor een schonere, efficiëntere code. Pythonic-lussen met identiek gedrag.

enumerate() retourneert een enumerate-object, een iterator van (index, waarde)-paren. Je kunt er direct doorheen lopen of het in een list()-object plaatsen om alle paren te bekijken.

Vat dit bericht samen met: