Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
Trabajar con listas y otros objetos iterables es una tarea común en la programación de Python . A veces, es posible que deba recorrer estos iterables mientras realiza un seguimiento del índice o el recuento del elemento actual. Ahí es donde la función enumerate() integrada de Python viene al rescate.
La función enumerar () en Python le brinda una forma conveniente de acceder tanto al índice de un elemento como al elemento en sí cuando está recorriendo una lista o cualquier objeto iterable.
Esta función hace que su código sea más Pythonic , legible y eficiente. Le permite recorrer elementos y recuperar tanto su índice como su valor. En lugar de inicializar e incrementar manualmente un contador dentro del bucle, puede confiar en enumerate() para que haga el trabajo por usted.
En este artículo, aprenderá sobre la función enumerate() integrada de Python, su importancia en su código de Python y sus casos de uso.
¡Entremos en ello!
Tabla de contenido
¿Qué es la función de enumeración de Python?
Imagine que está trabajando con una estructura de datos de lista y quiere hacer algo con cada elemento, pero también necesita saber la posición del elemento en la lista.
Sin Python enumerate(), puede decidir usar una variable de contador que incremente en cada iteración del bucle. Pero este enfoque podría ser propenso a errores y no es muy "Pythonic".
Enumerate es una función integrada en Python que le permite iterar sobre objetos iterables mientras realiza un seguimiento del índice del elemento actual.
Ahora que ha entendido qué es la función enumerar() en Python, pasemos a la sintaxis de la función enumerar() de Python en la siguiente sección.
¿Cuál es la sintaxis de la función de enumeración de Python?
La sintaxis de una función define cómo debe usar esa función en su código, incluidos los argumentos que toma y lo que devuelve.
La función enumerate() toma la siguiente sintaxis:
enumerate(, start=0)
: este es un parámetro obligatorio y puede ser cualquier iterable de Python, como una lista o una tupla.
start : este segundo parámetro es un parámetro opcional que especifica el valor inicial del contador. De forma predeterminada, se establece en 0.
El valor de retorno de la función enumerate() es un objeto enumerate, que es un iterador que tiene pares de (índice, elemento) para cada elemento en el iterable dado.
Puede usar este iterador en un bucle for para acceder tanto al índice como al elemento simultáneamente.
El siguiente ejemplo muestra cómo puede usar la función enumerate() con una lista:
fruits = ['apple', 'banana', 'cherry']
for index, item in enumerate(fruits):
print(index, item)
En este ejemplo, enumerate() recorre los objetos de enumeración, es decir, la lista de frutas , y asigna un índice a cada elemento, comenzando desde 0.
El bucle for luego descomprime el índice y el elemento del objeto enumerado. Esto le permite realizar operaciones basadas tanto en el índice como en el valor del artículo.
Estamos utilizando la función de impresión para imprimir el índice y el elemento en la pantalla. La salida del código se muestra en la siguiente imagen:
En la salida, puede ver que el índice inicial es 0. Este es el valor predeterminado del índice asignado automáticamente por el intérprete de Python.
Sin embargo, también puede especificar un valor inicial diferente para el contador proporcionando el parámetro de inicio opcional como se muestra en el código a continuación:
for index, item in enumerate(fruits, start=1):
print(index, item)
La salida será similar a la anterior. La única diferencia será que el índice ahora comienza en 1.
Así que ahora tiene un control sobre la sintaxis de la función enumerar () en Python. Pero, como con cualquier herramienta, es importante saber cuándo y dónde usarla.
¡Es por eso que vamos a explorar algunos casos de uso comunes para la función enumerar() en la siguiente sección!
5 casos de uso de la función Enumerate de Python
La función de enumeración en Python se usa ampliamente en escenarios donde tanto el índice como el valor de un objeto iterable son importantes para el programador.
A continuación, enumeramos algunos de los casos de uso comunes para enumerar funciones en Python.
1. Cómo usar enumerar con listas de Python
En Python, una lista es una estructura de datos integrada que le permite almacenar varios elementos en una sola variable. Piense en una lista como un contenedor donde puede colocar diferentes elementos y mantener su orden.
La función enumerate() se puede usar en listas de varias maneras, como:
A. Acceso a los elementos de la lista y sus índices con Python Enumerate
Uno de los casos de uso más comunes para enumerate() es cuando necesita acceder tanto a los elementos de una lista como a sus índices. Enumerate le permite hacer esto de una manera limpia y eficiente.
El siguiente es un ejemplo de acceso a elementos de una lista y sus índices:
fruits = ['apple', 'banana', 'mango', 'grape', 'orange']
for index, fruit in enumerate(fruits):
print(f"At index {index}, the fruit is {fruit}.")
La salida de este código se muestra en la siguiente imagen:
B. Modificación de elementos de lista con Python Enumerate
Cuando necesite modificar los elementos de una lista en función de su índice, enumerate() es una herramienta excelente. Puede acceder al índice dentro del ciclo y usarlo para modificar la lista.
El siguiente es un ejemplo de modificación de elementos de lista con la función de enumeración:
numbers = [1, 2, 3, 4, 5]
for i, num in enumerate(numbers):
numbers[i] = num * 2
Este código de Python crea una lista de números del 1 al 5. Luego, usa un bucle for y la función enumerate() para iterar sobre la lista.
Para cada iteración, multiplica el número actual (num) por 2 y lo reasigna a la misma posición en la lista (numbers[i]).
El resultado es que cada número en la lista original se duplica como se muestra en la imagen a continuación:
C. Comparación de elementos en dos listas con Python Enumerate
Si está comparando elementos en dos listas diferentes, enumerate() puede proporcionar el índice que necesita para acceder a los elementos en ambas listas al mismo tiempo.
El siguiente es un ejemplo del uso de la función de enumeración para comparar elementos en dos listas:
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 0, 5]
for i, value in enumerate(list1):
if value != list2[i]:
print(f"Difference at index {i}: {value} (list1) vs {list2[i]} (list2)")
En este código, primero definimos dos listas, list1 y list2. Luego, iteramos a través de list1 usando un bucle for con enumerate(), que proporciona el índice (i) y el valor de cada elemento.
Si el elemento actual en list1 no coincide con el elemento correspondiente en list2, imprime el índice de la diferencia y los valores diferentes de ambas listas.
El resultado de este código se muestra a continuación:
2. Cómo usar enumerar con tuplas de Python
Una tupla en Python es una colección ordenada de elementos, similar a una lista. La única diferencia es que una tupla es inmutable, lo que significa que no puede cambiar su contenido después de la creación.
Los siguientes son algunos de los casos en los que puede usar la enumeración con tuplas de Python.
A. Usar Python Enumerate() para encontrar un elemento en una tupla
Cuando se trata de tuplas en Python, es posible que a menudo necesite encontrar si existe un elemento en una tupla.
El siguiente código de ejemplo demuestra el uso de enumerate para encontrar elementos en una tupla:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
for i, fruit in enumerate(fruits):
if fruit == 'mango':
print(f"'mango' found at position {i}")
Este código imprimirá "'mango' encontrado en la posición 2" porque 'mango' está en el índice 2 de la tupla.
B. Usar Python Enumerate() para crear un diccionario a partir de una tupla
Si tiene una tupla y necesita transformarla en un diccionario, la función enumerate() de Python puede ser su herramienta de referencia.
El código de ejemplo muestra cómo puede crear un diccionario a partir de una tupla usando enumerar:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
fruit_dict = {i: fruit for i, fruit in enumerate(fruits)}
print(fruit_dict)
Este código imprimirá un diccionario donde las claves son los índices y los valores son los elementos de la tupla.
3. Cómo usar Enumerate con los diccionarios de Python
En Python, un diccionario es una colección desordenada y mutable de pares clave-valor , donde cada clave debe ser única. Piense en ello como un diccionario de la vida real: busca una palabra (la clave) y obtiene su definición (el valor).
Los siguientes son algunos de los casos en los que puede usar enumerar con diccionarios de Python:
A. Recorriendo claves y valores de un diccionario
Puede usar la función enumerate() para recorrer las claves y valores de un diccionario.
La función enumerate() agrega un contador a un objeto iterable (como los diccionarios), lo que le permite acceder al valor del índice actual.
A continuación se muestra un ejemplo de la función de enumeración con el diccionario de Python :
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, k in enumerate(example_dict):
print(i, k)
En este código de Python, primero creamos un diccionario llamado example_dict. Luego, usamos la función enumerate() para iterar sobre el diccionario.
Para cada iteración, imprimimos el conteo de bucles (que viene dado por i y comienza desde 0) y la clave actual (que es k) del diccionario.
B. Combinando Python Enumerate con la función Items
También puede acceder tanto a las claves como a los valores de un diccionario a través de la función items() junto con enumerate() . La función items() devuelve una colección iterable de pares clave-valor como tuplas.
El siguiente ejemplo demuestra cómo puede usar la función items() con enumerate() :
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, (k, v) in enumerate(example_dict.items()):
print(i, k, v)
En este código, creamos un diccionario llamado example_dict , luego usamos la función enumerate() para iterar sobre los pares clave-valor del diccionario. Durante cada iteración, imprimimos el índice de ciclo 'i', la clave actual 'k' y su valor correspondiente 'v'.
Ahora tiene una sólida comprensión de cómo usar la función enumerate() de Python en algunos escenarios comunes. Pero enumerate() tiene aún más que ofrecer.
¡Vamos a sumergirnos en algunos casos de uso avanzados relacionados con enumerate() en la siguiente sección!
3 casos de uso avanzado de Python Enumerate
En esta sección, iremos más allá de lo básico y exploraremos algunos de los casos de uso avanzados de la función de enumeración en Python.
Cubriremos los siguientes casos de uso:
Uso de enumerar con clases de Python
Uso de enumerar con clases de enumeración
Uso de Enumerate para inversión de pedidos
¡Entremos en ello!
1. Uso de enumerar con clases de Python
En su viaje de programación de Python, es posible que se encuentre con situaciones en las que desee utilizar la enumeración con clases personalizadas.
Para lograr esto, su clase debe implementar el método iter() , que le permite ser iterable.
Considere una clase Color que almacena nombres de colores y sus valores hexadecimales asociados:
class Color:
def __init__(self, colors: dict):
self.colors = colors
def __iter__(self):
return iter(self.colors.items())
colors = Color({"red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"})
for index, (name, hex_value) in enumerate(colors):
print(f"{index}: {name} => {hex_value}")
En este código, estamos creando una clase Color que toma un diccionario de nombres de colores y sus valores hexadecimales correspondientes.
Cuando usa enumerate() en el bucle, proporciona el índice junto con cada par clave-valor. Esto le permite imprimir el índice, el nombre del color y su valor hexadecimal en una cadena formateada.
2. Usando Python Enumerate con Enum Classes
Python viene con una clase Enum incorporada , que le permite crear tipos de enumeración con valores enteros asignados automáticamente.
Por ejemplo, eche un vistazo al siguiente código:
from enum import Enum, auto
class Direction(Enum):
NORTH = auto()
EAST = auto()
SOUTH = auto()
WEST = auto()
for index, direction in enumerate(Direction):
print(f"{index}: {direction.name} => {direction.value}")
En este script, estamos definiendo una Dirección de enumeración con cuatro miembros (NORTE, ESTE, SUR y OESTE) utilizando el módulo de enumeración de Python. La función auto() asigna un valor automático a cada miembro.
Cuando usa enumerate() en el ciclo, proporciona un índice junto con cada miembro de la enumeración. Esto le permite imprimir el índice, el nombre del miembro y su valor asignado automáticamente en una cadena formateada.
La salida de este código se muestra en la siguiente imagen:
3. Uso de Python Enumerate para la inversión de pedidos
En algunos casos, es posible que desee enumerar los elementos en orden inverso. Puede lograr esto usando la función incorporada reversed() en combinación con enumerate() .
El siguiente ejemplo muestra la enumeración de elementos en orden inverso:
my_list = ["apple", "banana", "cherry"]
for index, item in enumerate(reversed(my_list)):
print(f"{index}: {item}")
En este código, estamos iterando sobre una versión invertida de my_list usando enumerate(). Esto le proporciona el índice y el elemento de la lista invertida en cada iteración. Le permite imprimir el índice y el elemento en una cadena formateada.
La función reversed() no modificará la secuencia original; crea un nuevo iterador que presenta los elementos en orden inverso.
Para saber más sobre las funciones en Python, mira el siguiente video:
Pensamientos finales
A medida que continúa en su viaje de Python, es imprescindible dominar la función enumerate(). Es una herramienta que mejora la legibilidad y la eficiencia del código.
Al usar enumerate(), puede acceder sin problemas tanto al índice como al valor en sus bucles, lo que reduce la necesidad de contravariables o indexación. Simplifica su código y lo hace más Pythonic.
Ya sea que esté iterando a través de listas, tuplas, cadenas o diccionarios, enumerate() demostrará ser una herramienta valiosa. ¡Al comprender y practicar con enumerate(), estará dando un paso importante para perfeccionar sus habilidades de programación en Python!
Qué es uno mismo en Python: ejemplos del mundo real
Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.
En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.
Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.
En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.
Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.
Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.
Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.
Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.
¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber