Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python's enumerate() meesteren: lussen met indices voor lijsten, tuples, strings en dictionaries

Wat is Python's enumerate?

enumerate() is een ingebouwde Python-functie die elke iterable voorziet van een teller, en een iterator van (index, value) tuples retourneert. Volgens de officiële Python-documentatie biedt de functie een beknopte, efficiënte manier om zowel de positie als het element tijdens iteratie te benaderen.

Belangrijkste takeaways

  • De syntax en parameters van enumerate() begrijpen.
  • Leren hoe een custom start-index in te stellen.
  • enumerate() toepassen op lijsten, tuples, strings en dictionaries.
  • Het prestatievoordeel ten opzichte van handmatige indexing herkennen.

Syntax

enumerate(iterable, start=0)

Parameters

  • iterable: Elk object dat iteratie ondersteunt.
  • start (optioneel): De initiële waarde van de teller. Standaard 0.

Return Value

Een iterator die paren oplevert van de vorm (index, element), waar index begint bij start en met één toeneemt per element.

enumerate() gebruiken – Basisf voorbeeld

Hieronder een eenvoudige demonstratie. De lijst my_list wordt aan enumerate() doorgegeven, en de resulterende iterator wordt omgezet naar een lijst voor weergave.

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

Output:

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

Custom Start Index

Door het start argument mee te geven, kun je de nummering verschuiven:

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

Output:

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

Lussen met enumerate()

enumerate() binnen een for lus gebruiken houdt de code schoon en elimineert de noodzaak voor een aparte tellervariabele.

my_list = ['A', 'B', 'C', 'D']
for index, value in enumerate(my_list):
    print(index, value)
print("---")
for index, value in enumerate(my_list, 10):
    print(index, value)

Output:

0 A
1 B
2 C
3 D
---
10 A
11 B
12 C
13 D

Een Tuple enumereren

Hetzelfde patroon geldt voor tuples:

my_tuple = ('A', 'B', 'C', 'D', 'E')
for index, value in enumerate(my_tuple):
    print(index, value)

Output:

0 A
1 B
2 C
3 D
4 E

Een String enumereren

Strings zijn in Python iterable, dus enumerate() kan de positie van elk karakter onthullen:

my_str = "Guru99"
for index, char in enumerate(my_str):
    print(index, char)

Output:

0 G
1 u
2 r
3 u
4 9
5 9

Een Dictionary enumereren

Wanneer je een dictionary aan enumerate() doorgeeft, itereert het over de keys:

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

Output:

0 a
1 b
2 c
3 d

Waarom enumerate() gebruiken?

  • Het levert de index en waarde in een enkele, leesbare expressie.
  • In tegenstelling tot list.index() aanroepen binnen een lus, wat een O(n) zoekactie per keer uitvoert, draait enumerate() in O(1) per iteratie, wat prestaties verbetert op grote collecties.
  • Het vermindert boilerplate-code, wat onderhoudbaarheid verbetert en bugs reduceert.

Samenvatting

  • enumerate() is een kern-Python-functie voor het koppelen van indices aan iterable-elementen.
  • Het accepteert een optionele start parameter om nummering aan te passen.
  • Toepasbaar op lijsten, tuples, strings, dictionaries en elke iterable.
  • Biedt een single-pass, efficiënte oplossing voor index-aware loops.
  • Volg de officiële documentatie voor de meest accurate en up-to-date gebruikdetails.

Python

  1. Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
  2. Python Lambda Functies: Een praktische gids voor anonieme functies
  3. Python-generators: efficiënte iteratie en geavanceerde use cases
  4. Python-closures uitgelegd: hoe geneste functies variabelen vangen
  5. Python-decorators beheersen: functies verbeteren met expert-technieken
  6. Python-lussen beheersen: For, While, Break, Continue en Enumerate uitgelegd
  7. Python's strip()-methode beheersen: Uitgebreide handleiding & praktische voorbeelden
  8. Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
  9. Python len(): Praktische handleiding voor het meten van objectlengtes
  10. Python's range()-functie onder de knie: van basis tot geavanceerde use cases
  11. Python's yield meesteren: Generator vs Return – Een praktische gids