El uso oportuno de la comprensión de listas en Python puede facilitarle las operaciones de listas iterativas. Además de ser una sola línea, es más legible y se ejecuta de manera más eficiente.
Sin embargo, es posible que se ponga nervioso si no sabe cómo usarlo. Incluso puede ser más frustrante si no sabe dónde aplicarlo en su código. Aquí, le mostraremos cómo usar la comprensión de listas en Python con algunos ejemplos de la vida real.
¿Qué es la comprensión de listas en Python y cómo funciona?
Crear una lista de elementos con Python es fácil. Sin embargo, la tarea puede volverse un poco tediosa cuando necesita generar una lista de valores o elementos a partir de operaciones matemáticas o de cadenas. Es entonces cuando el uso de la comprensión de listas puede resultar útil.
Una ventaja de utilizar la comprensión de listas es que puede realizar varias operaciones en una sola lista.
Por el contrario, crea nuevos elementos y los agrega a una lista vacía que declara automáticamente. Entonces, en lugar de hacer una lista vacía manualmente y agregarle un
por bucle, la comprensión de la lista de Python le permite hacer esto automáticamente sin que se preocupe por cómo llega la nueva lista.El término "comprensión de lista" proviene del hecho de que todas las operaciones están en una lista de Python asignada a una variable nombrada. Como dijimos anteriormente, le permite realizar operaciones específicas en una sola línea de código. Luego agrega la salida a una nueva lista.
En última instancia, también puede utilizar la salida de una lista de comprensión para otros fines. Eso es porque apila expresiones en variables separadas. Para que pueda consultarlos más tarde.
Por ejemplo, podrías ser raspando un sitio web con BeautifulSoup. Suponga que tiene la intención de obtener el nombre de todos los artículos y sus precios en el sitio web.
Luego, decide poner los datos extraídos en un archivo CSV o Excel. La práctica ideal es raspar el nombre de todos los artículos y sus precios y colocarlos en columnas separadas. Sin embargo, usar una lista de comprensión, en ese caso, asegura que tenga los datos extraídos en variables dedicadas. Luego, puede convertir dichas variables en un DataFrame de Python más adelante.
Mira el ejemplo de abajo:
Productos = [i.text para i en bs.find_all ('etiquetas de nombre')]
Precio = [i.text para i en bs.find_all ('etiquetas de precio')]
Una vez que obtenga las variables en bucle, puede colocarlas en columnas separadas en un DataFrame usando Pandas de Python.
Cómo crear y usar una comprensión de lista en Python
los por loop es un iterador esencial en la comprensión de una lista. Generalmente, una lista de comprensión en Python toma este formato:
ComprehensionVariable = [expresión de los elementos de la lista]
Impresión Comprensión Variable genera el resultado del código anterior como una lista.
Sin embargo, tenga cuidado de no confundir la comprensión de una lista con una por lazo.
Por ejemplo, vamos usar un bucle abierto para para obtener una lista de todos los múltiplos de tres entre 1 y 30:
myList = []
para i en el rango (1, 11):
myList.append (i * 3)
imprimir (myList)
Salida: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
Para comparar los dos, hagamos lo mismo usando una lista de comprensión:
multiplesOf3 = [i * 3 para i en el rango (1, 11)]
imprimir (multiplesOf3)
Salida = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
También puede utilizar una lista de comprensión con declaraciones condicionales. El siguiente código de ejemplo imprime todos los números impares entre 1 y 10:
oddNumbers = [i para i en el rango (1, 11) si no i% 2 == 2]
imprimir (números impares)
Salida = [1, 3, 5, 7, 9]
Ahora, también reescribamos el código anterior usando un código abierto. por lazo:
myList = []
para i en el rango (1, 11):
si no es i% 2 == 0:
myList.append (i)
imprimir (myList)
Salida: [1, 3, 5, 7, 9]
Relacionado: Cómo agregar una lista en Python
Una lista de comprensión también acepta declaraciones if anidadas:
oddNumbers = [i para i en el rango (1, 11) si no i% 2 == 0 si i <4]
imprimir (números impares)
Salida: [1, 3]
También se necesita un anidado por lazo:
someNums = [[i * 2 for i in range (1, 3)] for _ in range (4)]
imprimir (someNums)
También puede tener una llanura anidada. por bucle en una lista de comprensión:
someNums = [i * 2 para i en el rango (1, 3) para k en el rango (4)]
También puede manipular cadenas con la comprensión de listas de Python. Echemos un vistazo a la comprensión de un contador de palabras a continuación:
word = ["Este es un tutorial de comprensión de listas de Python"]
wordCounter = [i.count ('') + 1 para i en palabra]
imprimir (contador de palabras)
Salida: 7
Una lista de comprensión también puede aceptar una función que realiza una operación específica. Insertemos una función multiplicadora que obtenga números pares en una lista de comprensión para ver cómo funciona:
Números = [4, 7, 8, 15, 17, 10]
def multiplicador (n):
múltiple = n * 2
devolver múltiples
multipleEven = [multiplicador (i) para i en Números si i% 2 == 0]
imprimir (multipleEven)
Salida: [8, 16, 20]
Aún puede escribir el código anterior en una sola función sin usar la comprensión. Pero la comprensión de una lista es útil cuando necesita realizar varias iteraciones y colocar cada una de ellas en variables independientes.
Por ejemplo, puede realizar otra operación en norte y tener una variable dedicada para ello. Modifiquemos la comprensión anterior para generar números pares a partir de impares:
multipleEvenFromOdds = [multiplicador (i) para i en Números si no i% 2 == 0]
imprimir (multipleEvenFromOdds)
Resultado: [14, 30, 34]
Diccionario y comprensiones de conjuntos
Además de una lista de comprensión, Python también ofrece un diccionario y una funcionalidad de comprensión establecida.
Eche un vistazo al ejemplo de comprensión del diccionario a continuación para ver cómo funciona:
correspondiente = {i: i * 2 para i en el rango (10) si no i% 2 == 0}
imprimir (corr)
Salida: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}
El código anterior recorre la lista de números entre 1 y 9 y los convierte en claves. Luego le dice a Python que multiplique cada clave por dos. Finalmente, presenta los resultados de esa operación como los valores correspondientes para cada clave en la matriz resultante.
Relacionado: Cómo funcionan las matrices y las listas en Python
Una comprensión de conjuntos es un poco similar a una comprensión de listas. A continuación, se muestra un ejemplo de comprensión de conjuntos:
números = {i ** (2) para i en el rango (10) si i% 4 == 0}
imprimir (números)
Salida: {0, 16, 64}
Sin embargo, a diferencia de la comprensión de listas, la comprensión de conjuntos elimina los duplicados:
nums = {i para i en el rango (20) si i% 2 == 1 para k en el rango (10) si k% 2 == 1}
imprimir (números)
Salida: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}
Puede probar el código anterior usando una lista de comprensión para ver en qué se diferencian.
¿Puede utilizar la comprensión de listas en todo momento?
Hemos echado un vistazo a diferentes ejemplos de comprensión de listas y dónde puede usarlos. Sin embargo, como cualquier otro método de Python, el caso de uso de una lista de comprensión depende del problema específico que desea resolver. Por lo tanto, solo debe usarlo si es ideal para el problema específico que desea resolver.
Uno de los propósitos de la comprensión de listas es simplificar su código y hacerlo más legible. Por lo tanto, asegúrese de evitar la complejidad al lidiar con él. Por ejemplo, una comprensión larga de Python puede volverse compleja de leer. Eso frustra su propósito.
Aquí encontrará todo lo que necesita saber sobre el uso de esta increíble función de Python que aumentará su productividad y la legibilidad del código de la noche a la mañana.
- Programación
- Pitón

Idowu es un apasionado de la tecnología inteligente y la productividad. En su tiempo libre, juega con la codificación y cambia al tablero de ajedrez cuando está aburrido, pero también le encanta romper con la rutina de vez en cuando. Su pasión por mostrarle a la gente el camino en torno a la tecnología moderna lo motiva a escribir más.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Un paso más…!
Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.