sql >> Base de Datos >  >> RDS >> Mysql

Convertir el resultado de sql a la lista de python

Si tiene un iterable en Python, para hacer una lista, simplemente puede llamar a la list() incorporado :

list(cursor.fetchall())

Tenga en cuenta que un iterable suele ser tan útil como una lista y potencialmente más eficiente que perezoso.

Su código original falla porque no tiene mucho sentido. Recorres las filas y las enumeras, por lo que obtienes (0, first_row), (1, second_row) , etc... - esto significa que está creando una lista del enésimo elemento de cada enésima fila, que no es lo que quería en absoluto.

Este código muestra algunos problemas:en primer lugar, list() sin ningún argumento generalmente se reemplaza mejor con un literal de lista vacía ([] ), ya que es más fácil de leer.

A continuación, está intentando realizar un bucle por índice, esta es una mala idea en Python. Recorra los valores en sí mismos, no los índices que luego usa para obtener valores.

También tenga en cuenta que cuando hace necesita crear una lista de valores como esta, una lista de comprensión es la mejor manera de hacerlo, en lugar de crear una lista y luego agregarla.