‫Hablemos de algo que es bastante exclusivo de Python y hace que las cosas sean realmente agradables como programadores de
‫Python, y se llama comprensión, es uno de nuestros términos clave.
‫Comprensiones.
‫¿Qué son?
‫Bueno, en realidad se llaman listas por comprensión o comprensiones de conjuntos o comprensiones de diccionario.
‫Y estos son algunos de los tipos de datos que tenemos en Python.
‫Y podemos usar comprensiones con estos tres tipos de datos, por cierto, mientras estoy grabando, hay algunos
‫pájaros cantando de fondo.
‫Pensé que sería bueno simplemente grabar el canto de los pájaros de fondo.
‫Creo que será pacífico para ti si te enfadas.
‫Lo siento, pero bueno, los pájaros también tienen que divertirse.
‫Bien, entonces, ¿cuáles son estas comprensiones?
‫Bueno, son una forma rápida de crear listas, conjuntos o diccionarios en Python en lugar de hacer un bucle o
‫agregar un montón de elementos a las listas.
‫Déjame mostrarte, en lugar de hacer algo como mi lista es igual a una lista vacía, y desde
‫aquí haré algo como cuatro caracteres en Hola.
‫Mi punto de lista se adjunta.
‫Personaje.
‫Solo para poder crear esta lista finalmente, digamos mi lista e imprimiremos esto.
‫Si hago clic, corre.
‫Creé una lista que contiene los personajes de Hello.
‫Está bien, pero.
‫¿Existe una forma más rápida y limpia de hacer esto y sí, la hay con menos comprensión en Python?
‫Una vez más, es bastante único.
‫No lo ves en muchos lenguajes de programación, pero a las personas que usan Python realmente les encanta esta función, y a
‫mí también.
‫Entonces, ¿cómo podemos hacer esto usando una lista de comprensión?
‫Bueno, el formato que vamos a seguir es así.
‫Vamos a decir Perram.
‫Para.
‫Perram en iterable.
‫Entonces, cuando digo Perram, me refiero a parámetro, o en nuestro caso, podría ser una variable, por lo que podemos nombrarlo
‫como queramos.
‫Así que nombremos este personaje como lo hicimos aquí y luego el personaje como lo hicimos aquí.
‫Y luego queremos un iterable en nuestro caso le dirá hola.
‫De modo que si elimino esto y hago clic en ejecutar.
‫Obtengo lo mismo así, así que en la Creación en línea tres, creo una lista que contiene el
‫carácter en Hola, hago un bucle for aquí y creo la lista.
‫Entonces, la forma en que me gusta pensar sobre esto es, oye, crea
‫una variable y luego haremos un ciclo for que diga, oye, para cada variable en el iterable agregada a la lista.
‫Bien, ampliemos esto, digamos que quería hacer otra cosa, llamémosla mi lista también, y quiero
‫crear, digamos, una lista rápida con números que van de cero a cien o de cero a noventa y
‫nueve.
‫¿Cómo haría esto de nuevo?
‫Usando una lista de comprensión, diré el número cuatro y luego ¿cuál es el iterable que voy a usar?
‫Bueno, voy a usar un rango y decir de cero a 100 para que si hago clic en ejecutar aquí.
‫Mire eso, tengo una lista larga y bonita, bastante poblada con todos estos números.
‫¿Cuan genial es eso?
‫está bien.
‫Pero aquí está mi desafío para ti.
‫¿Y si quisiera esto, pero todos los números deberían multiplicarse por dos?
‫Entonces quiero una lista donde esto sea igual a cero.
‫Estos son dos.
‫Son cuatro.
‫Son seis.
‫Son ocho.
‫Son diez.
‫Y así sucesivamente.
‫¿Cómo puedo hacerlo?
‫Bueno, en realidad podemos ampliar esto para que mi lista tres esta vez use el mismo bucle for que hemos
‫visto antes.
‫Así, pero en lugar de solo la variable, ahora es una expresión de cómo queremos actuar sobre cada carácter,
‫tal como vimos en las expresiones lambda.
‫Así que ahora puedo decirle a los tiempos entumecidos.
‫Para.
‫Estos artículos.
‫Así que ahora si hago mi lista tres.
‫Oye, mira eso.
‫Eso es bastante bueno, ¿no?
‫Bien, hagámoslo aún más desafiante, digamos Millas tres, y hagamos esto un poco más grande
‫aquí.
‫Mi lista para la quiero cambiar para que en mi lista, todavía guarde aquí lo que tengo los números, pero solo quiero
‫mantener los números pares.
‫En este caso, todos son pares porque se multiplican por dos, pero si, por ejemplo, hacemos a la potencia
‫de dos y comentemos esto por un segundo y damos clic en ejecutar.
‫Vemos que algunos números no lo son.
‫Aun así, quiero mantener estos números, pero solo los pares, ¿cómo lo haría?
‫Bueno, en este caso, tenemos una nueva forma de crear esta expresión, haremos exactamente lo mismo que
‫hicimos aquí.
‫Así que solo voy a copiar eso.
‫Pero al final, recuerde, ahora tenemos una expresión aquí, algo que vamos a hacer para afectar cualquiera que
‫sea el elemento en el iterable.
‫Vamos a recorrer las cosas y, finalmente, después de esto, podemos decir si podemos hacer una condición if.
‫Entonces, digamos en nuestro caso, diré si num.
‫El módulo dos es igual a cero, solo que luego se agrega a la lista.
‫Entonces, si hacemos clic, ejecutamos.
‫Bueno, y asegúrate de que sea menos para hacer clic en ejecutar.
‫Mire eso, todos estos son números pares, así que veamos este formato.
‫¿Recordar?
‫Estos se denominan listas por comprensión, es una forma de que creamos listas rápidamente con Python en lugar de hacer
‫un bucle y usar agregar o cosas que hemos visto antes.
‫Así que es una forma abreviada de hacer cosas únicas como esta.
‫La forma en que podemos hacer esto es tener una expresión aquí de lo que queremos hacer con cada elemento sobre
‫el que estamos iterando, hacemos un bucle.
‫Usando un bucle for que no se puede golpear, le damos una variable sobre la que vamos a
‫actuar, y luego, si queremos, también tenemos una opción para agregar un condicional y decir, oye, solo se incluye en la lista según esta condición
‫, basado en un verdadero o falso.
‫Muy, muy bueno ahora, aunque las listas por comprensión son realmente agradables porque son simples líneas de
‫una sola línea, puede volverse bastante confuso.
‫Al mirar este código, debe estar realmente familiarizado con las listas por comprensión para comprender realmente lo que
‫está sucediendo.
‫Entonces, aunque esto hace que el código sea más corto, tal vez incluso más limpio, le quita un poco de legibilidad.
‫Entonces, podría ser mejor crear una función descriptiva como generar una lista de números pares o algo por
‫el estilo.
‫Entonces es más descriptivo.
‫Y otro desarrollador podría tener una mejor idea de lo que está sucediendo.
‫Así que siempre es una compensación.
‫Tomemos un descanso y hablemos sobre la comprensión de conjuntos y diccionarios en el siguiente video de.