Condiciones II

Otra opción es considerar todos los valores de partida pero aplicar transformaciones diferentes a éstos en función de algún criterio. Por ejemplo, supongamos que partimos de una lista de valores positivos y negativos:

a = [2, -1, -4, 1, 5, -6]

...y que queremos transformarla dejando los valores positivos como están, y los negativos sustituidos por ceros. Podríamos hacerlo de la siguiente forma:

[n if n > 0 else 0 for n in a]

[2, 0, 0, 1, 5, 0]

Como vemos, ahora estamos dejando pasar todos los valores del array "a" hasta nuestra función (a la que llegan con el nombre "n"), pero ésta aplica una transformación u otra en función de que el valor en cuestión cumpla una cierta condición que, en este caso, es que supere el valor cero:

n if n > 0 else 0