加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

将sql结果转换为list python

发布时间:2020-12-12 07:30:13 所属栏目:MsSql教程 来源:网络整理
导读:我初学者用 python.I想将sql结果转换为list.Here是我的代码: cursor = connnect_db()query = "SELECT * FROM `tbl`"cursor.execute(query)options = list()for i,row in enumerate(cursor.fetchall()): options.append(row[i]) 我的表中有6列但是这段代码没
我初学者用 python.I想将sql结果转换为list.Here是我的代码:
cursor = connnect_db()

query = "SELECT * FROM `tbl`"

cursor.execute(query)

options = list()

for i,row in enumerate(cursor.fetchall()):
   options.append(row[i])

我的表中有6列但是这段代码没有创建6个元素列表.我做错了什么?

解决方法

如果你在Python中有一个iterable,要创建一个列表,可以简单地调用 the list() built-in:
list(cursor.fetchall())

请注意,iterable通常与列表一样有用,并且可能更加有效,因为它可能是惰性的.

您的原始代码失败,因为它没有多大意义.你循环遍历行并枚举它们,所以你得到(0,first_row),(1,second_row)等… – 这意味着你正在构建每个第n行的第n项的列表,这不是你想要什么.

此代码显示了一些问题 – 首先,没有任何参数的list()通常更好地替换为空列表文字([]),因为它更容易阅读.

接下来,你试图按索引循环,这在Python中是一个坏主意.循环遍历值本身,而不是您用于获取值的索引.

另请注意,当您确实需要构建这样的值列表时,list comprehension是最好的方法,而不是创建列表,然后附加到它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读