Mysql
 sql >> Base de données >  >> RDS >> Mysql

Convertir le résultat sql en liste python

Si vous avez un itérable en Python, pour faire une liste, on peut simplement appeler la list() intégré :

list(cursor.fetchall())

Notez qu'un itérable est souvent aussi utile qu'une liste, et potentiellement plus efficace car il peut être paresseux.

Votre code d'origine échoue car il n'a pas trop de sens. Vous bouclez sur les lignes et les énumérez, vous obtenez donc (0, first_row), (1, second_row) , etc... - cela signifie que vous construisez une liste du nième élément de chaque nième ligne, ce qui n'est pas du tout ce que vous vouliez.

Ce code montre quelques problèmes - premièrement, list() sans aucun argument est généralement mieux remplacé par un littéral de liste vide ([] ), car il est plus facile à lire.

Ensuite, vous essayez de boucler par index, c'est une mauvaise idée en Python. Bouclez sur les valeurs, elles-mêmes, et non sur les indices que vous utilisez ensuite pour obtenir des valeurs.

Notez également que lorsque vous faites besoin de construire une liste de valeurs comme celle-ci, une list comprehension est la meilleure façon de le faire, plutôt que de créer une liste, puis de la compléter.