python list comprehension

Lista de comprensión en Python – con ejemplos

Publicado por
Comparte en redes sociales


En Python, la comprensión de listas lo ayuda a crear nuevas listas a partir de iterables existentes, como listas, cadenas y tuplas.

Su sintaxis sucinta le permite crear nuevas listas con una sola línea de código. Y este tutorial te enseñará cómo puedes hacerlo.

En los próximos minutos aprenderá:

  • Cómo crear una nueva lista usando for rizado,
  • La sintaxis para usar listas de comprensión en Python, y
  • Cómo modificar listas de comprensión con if sentencia condicional.

Además, también codificará varios ejemplos que lo ayudarán a comprender mejor las listas de comprensión.

Vamos a sumergirnos.🌊

Cómo crear listas de Python usando bucles for

Supongamos que tiene una lista de números nums. Y le gustaría crear otra lista que contenga el cubo de todos los números en nums. He aquí cómo hacerlo usando un for bucle en Python:

nums = [2,3,5,7]
num_cubes = []
for num in nums:
  num_cubes.append(num**3)

print(num_cubes)

# Output
[8, 27, 125, 343]

En el código anterior, tenemos los siguientes pasos:

  • Inicializar una lista vacía num_cubes.
  • Bucle a través de la nums listado.
  • Acceso a cada número numy calcule su cubo usando el operador de exponenciación: num**3.
  • Finalmente, agregue el valor al cubo a la lista num_cubes

Notar: En Python, el operador de exponenciación ** se utiliza con la sintaxis: num**pow-el número num es elevado al poder pow.

Sin embargo, puede hacer esto más fácilmente usando la comprensión de listas en Python. Sigamos aprendiendo su sintaxis.

Sintaxis de comprensión de lista de Python

La sintaxis general para la comprensión de listas se muestra a continuación.

<new_list&gt; = [<expression&gt; for <item> in <iterable>]

Analicemos la sintaxis anterior.

  • En Python, las listas están delimitadas por un par de corchetes []– por lo tanto, debe incluir la declaración de comprensión de la lista en [].
  • <item> dentro <iterable> significa que está atravesando un iterable. Cualquier objeto de Python que pueda recorrer y acceder a elementos individuales, como listas, tuplas y cadenas, es iterable.
  • <expression> es la salida que desea calcular para cada <item> en el <iterable>.

Y eso suena simple, ¿no?

Básicamente, le gustaría hacer algo para todos artículos en el listado (o cualquier iterable) para obtener un Lista nueva.

Al usar esto, podemos simplificar la sintaxis como se muestra en la imagen a continuación.

cryptoshitcompra.com/wp-content/uploads/2022/02/Lista-de-comprension-en-Python-con-ejemplos.png» alt=»lista-comprensión-sintaxis» class=»wp-image-79293″/>
Python List Comprender la sintaxis (Imagen del autor)

Ahora que ha aprendido la sintaxis, es hora de comenzar a codificar. Puede usar el IDE de Python en línea de Geekflare para seguir estos ejemplos. O puede ejecutarlos en su máquina local.

Leer también  Choosing The Best Testing Framework [2023]

Ejemplos de comprensión de listas de Python

En la sección anterior, creó una nueva lista num_cubes a partir de nums. Comencemos reescribiendo esto usando la comprensión de listas.

Uso de la comprensión de listas con números

Ahora usemos la sintaxis simplificada de la siguiente manera:

  • <do-this>: Aquí, tienes que cubo cada uno num. así que reemplaza <do-this> con num**3.
  • <all-items>: La variable de bucle invertido es num: los números individuales de la lista.
  • <this-list>: La lista existente que tenemos es nums.
  • Y [num**3 for num in nums] es la expresión final. ✅

Poniendo todo esto junto, tenemos el siguiente fragmento de código:

num_cubes = [num**3 for num in nums]
print(num_cubes)

# Output
[8, 27, 125, 343]

Felicitaciones, ha codificado su primera lista de comprensión.🎉

Continuando, trabajando con cadenas de Python.

Uso de la comprensión de listas con cadenas

Supongamos que tiene la lista authors —puedes reescribir la lista a continuación con tus autores favoritos.😄

authors = ["jane austen","george orwell","james clear","cal newport"]

Observe cómo los nombres de los autores están en minúsculas en la lista anterior. Ahora nos gustaría formatearlas en el Título casos y almacenarlos en una nueva lista llamada author_list.

Notar: En Python, el método de cadena Título() acepta una cadena como argumento y devuelve una copia de la cadena formateada en mayúsculas y minúsculas. Es decir, la primera letra de cada palabra está en mayúscula: First-name Last-name

Así que esto es todo lo que necesitas hacer:

  • bucle a través de la authors lista y para cada author en la lista,
  • llamada author.title() para obtener una copia caso por caso del título del canal.

Y el código de Python para ello se muestra a continuación:

authors = ["jane austen","george orwell","james clear","cal newport"]

author_list = [author.title() for author in authors]
print(author_list)

# Output
['Jane Austen', 'George Orwell', 'James Clear', 'Cal Newport']

En el resultado anterior, observe cómo se formatearon los nombres de todos los autores en mayúsculas y minúsculas, que es lo que queríamos.

Uso de la comprensión de listas con varias listas

Hasta ahora ha aprendido a utilizar la comprensión de listas para crear nuevas listas a partir de una lista existente. Ahora veamos cómo crear una nueva lista a partir de varias listas.

Por ejemplo, considere este problema: tiene dos listas l_arr y b_arr que contiene las longitudes y anchuras de 4 rectángulos.

Leer también  Unlock the Potential of Your Professional Headshots

Y tienes que crear una nueva lista. area que incluye el área de estos 4 rectángulos. Recordar, area = length * breadth.

l_arr = [4,5,1,3]
b_arr = [2,1,7,9]

Necesitará elementos de ambas listas (l_arr y b_arr) para calcular el área. Y puedes hacerlo usando Python zip() Una función.

Notar: En Python, el zip() la función toma uno o más iterables como argumentos con la sintaxis zip(*iterables). Luego devuelve un iterador de tupla, donde la tupla i contiene el elemento i de cada uno de los iterables.

La siguiente imagen describe esto en detalle. Tienes 4 valores en l_arr y b_arrpor lo que el rango del índice es de 0 a 3. Como puede ver, la tupla 0 contiene l_arr[0] y b_arr[0]tupla 1 contiene l_arr[1] y b_arr[1]etc.

png» alt=»función python-zip» class=»wp-image-79301″/>
Función de Python zip() (Imagen del autor)

Por lo tanto, puede navegar zip(l_arr,b_arr) Como se muestra abajo:

area = [l*b for l,b in zip(l_arr,b_arr)]
print(area)

# Output
[8,5,7,27]

En la siguiente sección, aprenderá a usar declaraciones condicionales en una lista de comprensión.

Comprensión de lista de Python con sintaxis de condición

Empecemos construyendo sobre la sintaxis anterior para la comprensión de listas.

Aquí está la sintaxis:

<new_list> = [<expression> for <item> in <iterable> if <condition>]

En lugar de calcular el <expression> para todos los artículos, solo desea hacer esto para los artículos que cumplen con un criterio específico <condition>-o, condition := True. Y esto conduce a una sintaxis simplificada como se muestra:

lista-comprensión-con-condición-sintaxis
Comprensión de lista de Python con sintaxis de condición (Imagen del autor)

▶ Con eso, pasemos a los ejemplos de código.

Comprender la lista de Python con condiciones de ejemplo

#1. Te regalamos la cadena «Estoy aprendiendo Python en 2022». Desea obtener una lista de todos los dígitos en esta cadena. Entonces, ¿cómo lo haces?

en Python, <char>.isdigit() actúa sobre un personaje <char> y vuelve True si es un número (0-9); de lo contrario vuelve False.

El fragmento de código a continuación muestra cómo puede recopilar la lista de todos los dígitos en la cadena str1.

str1 = "I'm learning Python3 in 2022"

digits = [char for char in str1 if char.isdigit()]

print(digits)

# Output
['3', '2', '0', '2', '2']

En el código de arriba:

  • haces un lazo en la cadena str1,
  • acceder a cada char para verificar si es un dígito usando isdigit() método, y
  • agregar char a la nueva lista digits sólo si es un número.

Tomemos otro ejemplo.

#2. Tienes una lista de frutas.🍊 Y te gustaría crear una lista starts_with_b que contiene todos los frutos de fruits lista que comienza con b. Puedes usar el startswith() método para escribir la condición.

los <str>.startswith('char') Regreso True si comienza con ‘char’; de lo contrario vuelve False.

fruits = ['blueberry','apple','banana','orange','cherry']

starts_with_b = [fruit for fruit in fruits if fruit.startswith('b')]

print(starts_with_b)

# Output
['blueberry', 'banana']

En la salida anterior, obtenemos 'blueberry' y 'banana' con que dos frutas empiezan 'b' en el fruits lista, como se esperaba.

Y eso concluye nuestra discusión sobre la comprensión de listas.

Conclusión

Espero que este tutorial te haya ayudado a comprender la comprensión de listas en Python.

Resumamos:

  • Puedes usar [<do this> for <all-items> in <this-list>] para crear una nueva lista utilizando la lista de comprensión.
  • Además, puede utilizar la sintaxis [<do this> for <all-items> in <this-list> if <condition-is-True>] los if sentencia condicional.

Además, también codificó varios ejemplos. Como siguiente paso, puede intentar reescribir algunos de sus bucles de Python existentes para crear listas mediante la comprensión de listas. ¡Feliz codificación! Hasta el próximo tutorial.😄

Ahora puede ver cómo convertir una lista a un diccionario en Python.



Source link

Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.

Direcciones de Billetera:

- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS 

- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe 

- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f

- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx 

También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:

-Twitter

- Telegram

Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *