sql >> Database >  >> RDS >> Mysql

Converteer sql-resultaat naar lijstpython

Als je een iterable in Python hebt, kun je om een ​​lijst te maken eenvoudigweg de list() ingebouwd :

list(cursor.fetchall())

Houd er rekening mee dat een iteratie vaak net zo nuttig is als een lijst, en mogelijk efficiënter omdat het lui kan zijn.

Je originele code mislukt omdat het niet zo logisch is. Je loopt over de rijen en telt ze op, zodat je (0, first_row), (1, second_row) krijgt , enz... - dit betekent dat je een lijst aan het maken bent van het nde item van elke nde rij, wat helemaal niet is wat je wilde.

Deze code toont enkele problemen - ten eerste, list() zonder argumenten kan over het algemeen beter worden vervangen door een lege lijst letterlijk ([] ), omdat het gemakkelijker te lezen is.

Vervolgens probeer je te lussen op index, dit is een slecht idee in Python. Loop over waarden zelf, niet over indexen die u vervolgens gebruikt om waarden te krijgen.

Houd er ook rekening mee dat wanneer u doe moet een lijst met waarden zoals deze maken, een lijstbegrip is de beste manier om het te doen, in plaats van een lijst te maken en er vervolgens aan toe te voegen.



  1. Microsoft Access-webapp versus desktopdatabase

  2. MySql-query Vervang NULL door lege tekenreeks in Select

  3. SQL ALTER TABLE voor beginners

  4. Hoe dump ik een MySQL-bestand zonder Foreign Keys via de opdrachtregel?