Python lista de comprensión para producir dos valores en una iteración

Quiero generar una lista en python de la siguiente manera:

[1, 1, 2, 4, 3, 9, 4, 16, 5, 25 .....]

Habrías descubierto que no es más quen, n*n

Intenté escribir una lista de este tipo en Python de la siguiente manera:

lst_gen = [i, i*i for i in range(1, 10)]

Pero haciendo esto, da un error de sintaxis.

¿Cuál sería una buena manera de generar la lista anterior a través de la comprensión de la lista?

Respuestas a la pregunta(12)

Su respuesta a la pregunta