Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Converter resultado sql para listar python


Se você tiver um iterável em Python, para fazer uma lista, basta chamar a list() embutido :
list(cursor.fetchall())

Observe que um iterável geralmente é tão útil quanto uma lista e potencialmente mais eficiente, pois pode ser preguiçoso.

Seu código original falha, pois não faz muito sentido. Você faz um loop sobre as linhas e as enumera, para obter (0, first_row), (1, second_row) , etc... - isso significa que você está construindo uma lista do enésimo item de cada enésima linha, que não é o que você queria.

Este código mostra alguns problemas - primeiro, list() sem nenhum argumento é geralmente melhor substituído por um literal de lista vazia ([] ), pois é mais fácil de ler.

Em seguida, você está tentando fazer um loop por índice, esta é uma má ideia em Python. Faça um loop sobre valores, eles mesmos, não índices que você usa para obter valores.

Observe também que quando você faz precisa criar uma lista de valores como esta, uma compreensão da lista é a melhor maneira de fazer isso, em vez de criar uma lista e anexar a ela.