Avatar ·

¿Cómo funciona el código [i for i in range(51) if i % 2 == 0]?

📁 lista, python, IA

  Evens_to_50 = [i  for  i  in   range  ( 51 )  if  i %  2  ==  0 ]   print  Evens_to_50  

Este código genera una lista de números pares hasta cincuenta. Pero yo, como nuevo en programación, no entiendo algunos puntos:

  1. ¿Por qué la generación ocurre entre corchetes, que normalmente se usan para trabajar con índices?
  2. ¿Qué hace el primer i antes de for ? ¿Por qué después de range(51) no hay dos puntos ni salto de línea con tabulación?
  3. ¿Dónde más se pueden usar corchetes para escribir un for ? ¿Cuáles son las reglas?