DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Updated on

Ibuprofeno.py💊| #54: Explica este código Python

Explica este código Python

Dificultad: Intermedio

## Reto #54
my_string = "52,69,10,47,230,5,415,233"
mi_list = [ int(value) for value in my_string.split(",") if len(value) == 3]
print(mi_list)
Enter fullscreen mode Exit fullscreen mode

👉 A. [52, 69, 10, 47]
👉 B. ['230', '415', '233']
👉 C. [230, 415, 233]
👉 D. ['230415233']


Respuesta en el primer comentario.

Top comments (1)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:
👉 C. [230, 415, 233]

Las listas comprimidas son una característica brutal de Python. Permite al programador escribir listas complejas de una manera sencilla y en una sola línea de código.

Para entender mejor como es que funcionan las listas comprimidas sugiero aprender primero su sintaxis:

mi_list = [ VALUE LOOP CONDITION] 
Enter fullscreen mode Exit fullscreen mode

Donde:

  • value: es el valor que tendrá cada item en la lista.
  • loop: es el ciclo que usaremos para generar la lista.
  • condition: es la condición opcional que podemos usar para filtrar el resultado final de nuestra lista.

Volviendo al ejemplo:

  • value:
    int(value) indica que cada item de la lista resultante sera convertida a entero.

  • loop:
    for value in my_string.split(",") indica que iteraremos sobre la cadena my_string convirtiendola a una lista usando el método split() y almacenando cada item en una variable value.

  • condition:
    if len(value) == 3 indica que solo tomaremos en cuenta a los items cuya longitud sea igual a 3 o en otras palabras, números de 3 digitos.

Finalmente pasado todos los filtros el resultado final queda: [230, 415, 233].