evens_to_50 = [i for i in range(51) if i % 2 == 0]
print evens_to_50
Этот код генерирует список из четных чисел до пятидесяти.
Но мне, как новому в программировании непонятны некоторые моменты - :
1, Почему генерация происходит в квадратных скобках, их же обычно используют при работе с индексами
2. Что делает первая i перед циклом for? Почему после range()51 нет двоеточия и перевода на новую линию с табулированием?