Квадратные скобки не требуются в списках при использовании в функции

Я отправил запрос на включение с этим кодом:

my_sum = sum([x for x in range(10)])

Один из вместо этого рецензенты предложили это:

my_sum = sum(x for x in range(10))

(разница только в том, что отсутствуют квадратные скобки)

Я был удивлен, что вторая форма кажется идентичной. Но когда я попытался использовать ее в других контекстах, где первая один работает, он терпит неудачу:

y = x for x in range(10)
        ^ SyntaxError !!!

Две формы идентичны? Есть ли какая-то важная причина, по которой квадратные скобки не нужны в функции? Или это просто то, что мне нужно знать?

9
задан Matt Fenwick 12 June 2012 в 14:14
поделиться