sql >> Databasteknik >  >> RDS >> Mysql

Konvertera sql-resultat till list python

Om du har en iterabel i Python, för att göra en lista kan man helt enkelt ringa list() inbyggd :

list(cursor.fetchall())

Observera att en iterabel ofta är lika användbar som en lista och potentiellt mer effektiv eftersom den kan vara lat.

Din ursprungliga kod misslyckas eftersom det inte är så vettigt. Du loopar över raderna och räknar upp dem, så att du får (0, first_row), (1, second_row) , etc... - detta betyder att du bygger upp en lista över det n:te objektet på varje n:e rad, vilket inte alls är vad du ville ha.

Den här koden visar några problem - för det första, list() utan några argument är i allmänhet bättre att ersätta med en tom lista bokstavlig ([] ), eftersom det är lättare att läsa.

Därefter försöker du loopa för index, detta är en dålig idé i Python. Slinga över värden, sig själva, inte index du sedan använder för att få värden.

Observera också att när du gör måste bygga en lista med värden som denna, en listaförståelse är det bästa sättet att göra det, snarare än att skapa en lista och sedan lägga till den.



  1. Hur man återställer Galera Cluster eller MySQL-replikering från Split Brain Syndrome

  2. korrekt vilolägeskommentar för byte[]

  3. Hur visar man en bild från databasen i CodeIgniter?

  4. Autentiseringsplugin 'caching_sha2_password' kan inte laddas