comprension

=Listas por Comprensión=

Las listas por comprensión permiten escribir de forma compacta trozos de código que necesitarían de bucles for más complejos. Fíjate en el siguiente ejemplo: code format="python" >>> [i+3 for i in range(10)] [3, 4, 5, 6, 7, 8, 9, 10, 11, 12] code ¿Qué hace la lista por comprensión anterior? Primero, con la orden range genera una lista de enteros. Con la indicación del **for** hace que la variable i recorra cada uno de sus elementos y con i+3 conseguimos que los devuelva sumados con 3. ¿Entiendes la notación? Siempre es algo del estilo code format="python" [... for ... in ...] code En el lugar indicado por los primeros puntos se pone la operación que quiero que haga Python sobre cada elemento, para ello, en el espacio indicado por los siguientes puntos se escribe un nombre de variable que representa cada uno de los elementos de los indicados en el lugar de los terceros puntos. También puede hacerse un **filtrado**, es decir, aplicar la operación deseada a sólo parte de los elementos. Para ello, se añade en la lista por comprensión un if y la condición que se desea que cumplan los elementos que queremos usar. Por ejemplo, si queremos que nos devuelva únicamente los números impares (es decir, los que al dividir por 2 nos dan de resto 0) haremos: code format="python" >>> [x for x in range(10) if x%2 == 1] [1, 3, 5, 7, 9] code Otro ejemplo; obtener la primera letra de cada palabra de una lista. code format="python" >>> listaPalabras = ['hola','globo','perro'] >>> [palabra[0] for palabra in listaPalabras] ['h', 'g', 'p'] code