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

Konverter sql-resultat til listepython

Hvis du har en iterable i Python, for at lave en liste, kan man blot kalde list() indbygget :

list(cursor.fetchall())

Bemærk, at en iterable ofte er lige så nyttig som en liste og potentielt mere effektiv, da den kan være doven.

Din originale kode fejler, da den ikke giver for meget mening. Du løkker over rækkerne og opregner dem, så du får (0, first_row), (1, second_row) osv... - det betyder, at du er ved at opbygge en liste over det n'te element i hver n'te række, hvilket slet ikke er, hvad du ønskede.

Denne kode viser nogle problemer - for det første list() uden nogen argumenter er generelt bedre erstattet med en tom listeliteral ([] ), da det er lettere at læse.

Dernæst prøver du at sløjfe efter indeks, dette er en dårlig idé i Python. Loop over værdier, sig selv, ikke indekser, du så bruger til at få værdier.

Bemærk også, at når du gør skal opbygge en liste over værdier som denne, en listeforståelse er den bedste måde at gøre det på i stedet for at oprette en liste og derefter tilføje den.



  1. Mysql/Php - Aktuel dato og tid

  2. Sådan finder du ikke-numeriske værdier i en kolonne i MySQL

  3. Sådan rettes den nye datatype, der forårsager problemer for MS Access

  4. Afgrænsere i MySQL