Contando quién lo necesita?
Bueno, todos lo hacemos, y también sirve para un valioso propósito de programación. La programación solo existe por el conteo y todas las matemáticas que se pueden hacer con él.
Sin embargo, la programación no siempre es tan simple como las matemáticas y el conteo, con eso en mente, Python nos brinda herramientas para simplificar nuestra experiencia.
En esta publicación, discutiremos una de las funciones de enumeración que nos ayuda a contar elementos y objetos en nuestro código. Sin más preámbulos, entremos de inmediato.
¿Qué hace enumerar en Python?
La función de enumeración de Python convierte el objeto de recopilación de datos en un objeto de enumeración. Enumerate devuelve un objeto que contiene un contador como clave para cada valor del objeto, lo que facilita el acceso a los elementos de la colección.
Los objetos en bucle son útiles, pero a menudo necesitamos los medios para rastrear el bucle y los elementos disponibles en esta iteración del bucle. Enumerate ayuda con esta necesidad al asignar un contador a cada elemento de un objeto, lo que nos permite realizar un seguimiento de los elementos disponibles.
También facilita la manipulación de nuestros conjuntos de datos cuando sea posible. No todos los recopiladores de datos de Python son mutables, los conjuntos son un excelente ejemplo de esto.
¿Cómo funciona la enumeración en Python?
Enumerar funciones similares a un por loop, repite un conjunto de datos una vez por cada elemento que contiene. La principal diferencia es que enumerate modifica automáticamente los datos a los que se entrega, esencialmente convirtiendo cada elemento en un par clave-valor. A medida que la función itera por el objeto, cada elemento se concatena con un número que corresponde al número de veces que se ejecuta el ciclo, incluido el ciclo actual.
La función de enumeración acepta dos parámetros: un objeto iterable requerido y un número de inicio opcional. El parámetro del número inicial toma un número entero y especifica a partir de qué número debe comenzar a contar la función. Dado que es opcional, el número de inicio predeterminado siempre es cero, al igual que las matrices de indexación.
Veamos algunos ejemplos de esto y veamos cómo cambia la entrada al examinar la salida.
¿Cómo usar enumerar en Python?
Hay cuatro tipos de datos en Python para almacenar conjuntos de información, pero solo discutiremos dos en este ejemplo. Los tipos de datos del diccionario y las listas están ordenados, por lo que en la mayoría de las situaciones, a excepción de la programación compleja como el aprendizaje automático, no necesita ejecutar un enumerador. Los conjuntos y las tuplas, por otro lado, están desordenados y, por lo tanto, es más probable que se enumeren.
Ejemplo de enumeración de Python
La función de enumeración de Python ofrece una forma más simplificada de acceder y contar elementos en una recopilación de datos. Hay cuatro tipos principales de recopilación de datos en Python, veremos ejemplos de las funciones de enumeración de conjuntos y tuplas. En la siguiente sección, veremos estos dos ejemplos contrastantes pero que valen la pena usando la función de enumeración.
Echemos un vistazo rápido a los dos tipos de datos que usaremos y qué los hace diferentes.
- tupla: ordenada e inmutable. Le permite duplicar miembros.
- Configurar: Sin ordenar, sin cambios (los elementos se pueden agregar o eliminar, pero no cambiar) y no indexados. No hay miembros duplicados.
Listar conjuntos de Python
Los conjuntos de Python son conjuntos de información desordenados, sus elementos son inmutables y, por lo tanto, no se pueden cambiar una vez agregados. La naturaleza desordenada de los conjuntos significa que el orden de acceso a los elementos dentro del marco es inconsistente y que el valor del índice no los puede identificar porque no tienen ese valor.
La función enumerar asocia un contador como clave a cada elemento del conjunto. Esto puede ayudar a construir una estructura en una colección desordenada. Al enumerar en el conjunto, tenemos más control sobre cómo podemos interactuar de manera confiable con él. Esto es útil para ensamblajes porque los elementos que contienen no tienen una ubicación de índice designada.
/*creates a set using curly brackets*/
snekSet = {"cobra","viper","snek"}
/*prints the third object in the tuple*/
print(snekSet[2])
El código anterior devolverá un error que indica que el ensamblado no está indexado, esto se debe a que la orientación del índice es incompatible con los ensamblados. Sin embargo, si calculamos el conjunto, podemos usar el numerador como índice para encontrar nuestro elemento.
snekTuple = ("cobra","viper","snek")
for i in enumerate(snekTuple):
print(i)
El código anterior mostrará el siguiente resultado en la consola, aunque el orden en que se devuelven los artículos puede diferir.
(0, ‘cobra’)
(1, ‘snek’)
(2, ‘viper’)
Es importante tener en cuenta que esto no cambia el valor de snekSet, imprimirlo en la consola nos dará el mismo conjunto que declaramos y muy probablemente en un orden diferente.
print(snekSet)
/*output*/
{"viper", "cobra", "snek"}
Para conservar el efecto de la función de enumeración en el conjunto, debe convertir los resultados a un tipo de datos diferente. Por ejemplo, veamos cómo podemos hacer esto con una función de creación de listas.
snekSet = {"cobra","viper","snek"}
snekSetEnum = enumerate(snekSet)
snekList = list(snekSetEnum)
Primero, creamos el conjunto, luego ejecutamos la función de enumeración que proporciona nuestro conjunto y lo guardamos en una nueva variable. Finalmente, el resultado de la enumeración se envía al generador de listas y se guarda como un nuevo objeto de lista. Los datos dentro de esta nueva lista de canciones parecen una lista de pares clave/valor.
[(0, ‘cobra’), (1, ‘snek’), (2, ‘viper’)]
El problema es que crea una estructura de datos intrincada y, dado que los ensamblajes son impredecibles, debe usarlos con cuidado. Veamos el caso contrastante del uso de la función de enumeración o tuplas.
Enumerar tuplas de Python
La función de enumerar también se puede usar en tuplas para obtener pares clave/valor; esto proporciona mucha más certeza en cuanto al orden en que se devolverán los productos. La razón de esto es que las tuplas están ordenadas, lo que significa que los elementos que contiene están en la posición en la que se agregaron. Entonces, el tercer elemento en una tupla, a diferencia de un conjunto, se puede enrutar usando la notación de paréntesis con índice 2.
/*creates a tuple using parentheses*/
snekTuple = ("cobra","viper","snek")
/*prints the third object in the tuple*/
print(snekTuple[2])
Enumerar tuplas de Python es más simple que enumerar conjuntos. Enumerar tuplas en Python tiene resultados mucho más predecibles y consistentes, veamos un ejemplo de cómo podemos hacerlo.
snekTuple = ("cobra","viper","snek")
for i in enumerate(snekTuple):
print(I)
Para cada iteración del ciclo, el resultado se imprimirá en la consola, mostrando las claves y valores enumerados para el snekTuple que creamos.
(0, ‘cobra’)
(1, ‘viper’)
(2, ‘snek’)
Tenga en cuenta que este ejemplo es algo redundante ya que las tuplas están ordenadas y pueden indexarse. Esto no significa que no haya una razón o aplicación real para ello, un gran ejemplo es enumerar un diccionario establecido. Los conjuntos en un diccionario podrían enumerarse para comprender mejor su contenido.
Avanzando con la función de enumeración de Python
Hay muchos trucos útiles que puede aplicar a la programación con la función enumerar y la complejidad de la programación afectará la frecuencia con la que necesitará funciones como enumerar. Esto también afectará la complejidad del uso de tales funciones, y la función enumerar se puede usar para realizar una reestructuración avanzada de datos para diversas necesidades. Buena suerte y asegúrese de usar recursos como Stack Overflow y la página de documentación de Python cuando sea necesario.








