im beginner with python.I want to convert sql results to a list.Here's my code:
cursor = connnect_db()
query = "SELECT * FROM `tbl`"
cursor.execute(query)
options = list()
for i,row in enumerate(cursor.fetchall()):
options.append(row[i])
There is 6 column in my table but this code doesn't create 6 element-list.Where am i doing wrong?
解决方案
If you have an iterable in Python, to make a list, one can simply call the list() built-in:
list(cursor.fetchall())
Note that an iterable is often just as useful as a list, and potentially more efficient as it can be lazy.
Your original code fails as it doesn't make too much sense. You loop over the rows and enumerate them, so you get (0, first_row), (1, second_row), etc... - this means you are building up a list of the nth it