Los apoyos cuadrados no se requieren en las listas de comprensión cuando se usan en una función

He enviado una solicitud de extracción con este código:

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

Uno de los revisores sugirió esto en su lugar:

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

(La diferencia es que faltan los tirantes cuadrados).

Me sorprendió que la segunda forma pareciera ser idéntica. Pero cuando intenté usarlo en otros contextos donde funciona el primero, falla:

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

¿Son las dos formas idénticas? ¿Hay alguna razón importante por la que los tirantes cuadrados no sean necesarios en la función? ¿O es esto solo algo que tengo que saber?

Respuestas a la pregunta(4)

Su respuesta a la pregunta