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)
👉 A. [52, 69, 10, 47]
👉 B. ['230', '415', '233']
👉 C. [230, 415, 233]
👉 D. ['230415233']
Respuesta en el primer comentario.
Top comments (1)
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:
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 cadenamy_string
convirtiendola a una lista usando el métodosplit()
y almacenando cada item en una variablevalue
.condition
:if len(value) == 3
indica que solo tomaremos en cuenta a los items cuya longitud sea igual a3
o en otras palabras, números de3
digitos.Finalmente pasado todos los filtros el resultado final queda:
[230, 415, 233]
.