回答

收藏

将SQL将结果转换为列表Python

技术问答 技术问答 266 人阅读 | 0 人回复 | 2023-09-14

我是python初学者sql结果转换为列表。这是我的代码:
" F, v5 Q6 o6 p  T8 Fcursor = connnect_db()query = &quot;SELECT * FROM `tbl`&quot;cursor.execute(query)options = list()for i,row in enumerate(cursor.fetchall():   options.append(row<i>)我的表中有6列,但这个代码不会创建6元素列表。我做错了什么?
0 k8 Z+ o9 ~& c+ w2 S                                                               
& B# H+ O0 k  o. y9 f    解决方案:                                                                  w# ^. T, L/ l* A$ ~  Y7 `8 W; @
                                                                假如你有迭代Python,列表可以简单调用list()内置:4 D7 L/ S/ I4 {9 H8 P3 a# Q
list(cursor.fetchall())请注意,可迭代项通常和列表一样有用,可能会变得更懒惰,所以效率更高。
9 b6 r9 R4 u. D% Z0 L. |; K9 \/ y你的原始代码失败了,因为它没有多大意义。你经历并列举它们,这样你就可以得到(0,first_row),(1,second_row)等等…-这意味着你正在建立第一名n行中第n这根本不是你想要的。3 U% J" F* B& D; d4 a+ l
代码显示了一些问题-首先,list()最好用空列表文字([])代替,没有任何参数,因为它更容易阅读。7 n, Z2 o- V9 I' {+ {/ v- S1 E4 ~- D: L
接下来,试着按索引循环,这是Python这是个坏主意。循环遍历值本身,而不是索引获得值。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则