Maison > développement back-end > Tutoriel Python > Comment fonctionne la fonction `enumerate()` de Python et comment peut-elle être personnalisée ?

Comment fonctionne la fonction `enumerate()` de Python et comment peut-elle être personnalisée ?

Barbara Streisand
Libérer: 2024-12-07 22:22:14
original
527 Les gens l'ont consulté

How Does Python's `enumerate()` Function Work and How Can It Be Customized?

Comprendre Enumerate en Python

La fonction enumerate() de Python améliore un itérable en ajoutant un compteur numérique à chaque élément . Explorons ce que cela signifie dans le contexte spécifique donné :

for row_number, row in enumerate(cursor):
Copier après la connexion

Le curseur ici est un itérable contenant une séquence d'éléments. Pour chaque élément, enumerate() génère un tuple avec un compteur (row_number) et l'élément lui-même (row). La boucle for attribue ensuite ces tuples aux variables row_number et row, respectivement.

Ce que fait vraiment Enumerate

En termes simples, enumerate() ajoute un décompte courant aux éléments de l'itérable. Dans le code donné, il démarre le décompte à partir de 0 et l'incrémente de 1 pour chaque élément suivant. Cela vous permet de parcourir l'itérable et d'avoir accès simultanément au nombre et à l'élément.

Démonstration

Considérez l'exemple suivant :

elements = ('foo', 'bar', 'baz')

for elem in elements:
    print(elem)
Copier après la connexion

Sortie :

foo
bar
baz
Copier après la connexion

Maintenant, employons enumerate():

for count, elem in enumerate(elements):
    print(count, elem)
Copier après la connexion

Sortie :

0 foo
1 bar
2 baz
Copier après la connexion

Dans ce cas, nous obtenons à la fois l'index (count) et l'élément correspondant (elem).

Personnalisation et implémentations

Par défaut, enumerate() commence à compter à partir de 0. Cependant, vous pouvez fournir un deuxième argument facultatif pour commencer à partir d'un nombre différent. Par exemple :

for count, elem in enumerate(elements, 42):
    print(count, elem)
Copier après la connexion

Sortie :

42 foo
43 bar
44 baz
Copier après la connexion

Vous pouvez également créer vos propres versions de enumerate() à l'aide de constructions Python natives ou de bibliothèques tierces. Par exemple :

def enumerate(it, start=0):
    return zip(count(start), it)  # Using itertools.count()
Copier après la connexion

Ou :

def enumerate(it, start=0):
    count = start
    for elem in it:
        yield count, elem
        count += 1
Copier après la connexion

Ces implémentations personnalisées démontrent la flexibilité des paradigmes de programmation de Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal