将 select 存储在一个数组中

storing select results in an array

我正在使用 python sqlite 搜索特定列中的特定匹配项,一旦找到匹配项,需要将其他列的值存储在 python 变量中以供进一步使用。 我不能做的是将来自 select 查询的数据存储在列表

for z in range(0,y):
    for m,n in cr.execute ("select English,Tagger from POS where Arabic=?",(x[z],)):
        h[z]=m
        f[z]=n

m 和 n 变量在 for 循环的每次迭代中都返回正确的值,但我不能将它们存储在 h 和 f 中以供进一步使用

请更详细地描述问题。

  • 您遇到的错误是什么?
  • 在尝试写入列表之前,您是否将 h、f 变量声明为长度为 y 的列表? - 例如。 h = [None] * z
  • 或者你可以使用 dict h = {} 而不是 h[z] = m
  • 或者,如果您不需要知道 z 值,只需附加到空列表即可 - 例如。 h = [] 和 h.append(m)

嗯,不确定 hf 是否是列表对象,但假设是。因为您似乎已经将结果附加到列表中,所以您可以这样做:

h = []
f = []
for z in range(0, y):
    for m,n in cr.execute ("select English,Tagger from POS where Arabic=?",(x[z],)):
        h.append(m)
        f.append(n)