Mysql
 sql >> Database >  >> RDS >> Mysql

Converti il ​​risultato sql in elenco python

Se hai un iterabile in Python, per creare un elenco, puoi semplicemente chiamare il list() integrato :

list(cursor.fetchall())

Nota che un iterabile è spesso utile quanto un elenco e potenzialmente più efficiente in quanto può essere pigro.

Il tuo codice originale non riesce perché non ha molto senso. Scorri le righe e le enumeri, in modo da ottenere (0, first_row), (1, second_row) , ecc... - questo significa che stai costruendo un elenco dell'ennesimo elemento di ogni ennesima riga, che non è affatto quello che volevi.

Questo codice mostra alcuni problemi:in primo luogo, list() senza alcun argomento è generalmente meglio sostituito con un letterale elenco vuoto ([] ), poiché è più facile da leggere.

Successivamente, stai cercando di eseguire il ciclo per indice, questa è una cattiva idea in Python. Ripeti i valori, gli stessi, non gli indici che utilizzi per ottenere i valori.

Nota anche che quando lo fai è necessario creare un elenco di valori come questo, una comprensione dell'elenco è il modo migliore per farlo, piuttosto che creare un elenco, quindi aggiungerlo.